1. 程式人生 > >高德地圖API的呼叫

高德地圖API的呼叫

    專案中需要呼叫一下第三方地圖的API,因為自己一直用的是高德地圖,所以優先採用高德地圖。事實證明我也沒選錯,百度地圖的API使用起來確實挺麻煩。

一、申請key


二、新建專案

    一般web型別的專案就可以,我習慣於SpringBoot專案的寫法。結構如下:


    1.修改一個埠號(改不改都行,不改預設80),我的是8088。

    2.增加請求路徑,因為是測試,所以直接寫在啟動類上。

@SpringBootApplication
@Controller
public class AmapApplication {

	public static void main(String[] args) {
		SpringApplication.run(AmapApplication.class, args);
	}

	@GetMapping("/")
	public  String toIdex(){
		return "index.html";
	}
}

    3.index.html檔案。

        唯一要修改的就是key值,其他幾乎都是不變的。

<!DOCTYPE html>
<html >
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
    <title>稚子候門</title>
    <link rel="stylesheet" href="./styles/map.css" />
    <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.7&key=你的key值"></script>
</head>
<body>
 <div   id="container">
 </div>
 <script>
    var map = new AMap.Map('container', {
        center: [116.397428, 39.90923],
        layers: [//使用多個圖層
            new AMap.TileLayer.Satellite(),
            new AMap.TileLayer.RoadNet()
        ],
        zooms: [4,18],//設定地圖級別範圍
        zoom: 13
    });

 </script>
</body>
</html>
    4.非常簡單的map.css檔案。
#container {width:800px; height: 500px; text-align: center}

    三、一些坑

    按照高德的說明文件一步一步操作的,但是最後還是不顯示地圖。除錯工具也沒說錯在哪。找了半天,是載入時機的問題。

<script>
    var map = new AMap.Map('container', {
        center: [116.397428, 39.90923],
        layers: [//使用多個圖層
            new AMap.TileLayer.Satellite(),
            new AMap.TileLayer.RoadNet()
        ],
        zooms: [4,18],//設定地圖級別範圍
        zoom: 13
    });
 </script>

    以上內容要放在頁面的下部。

    因為頁面是從上往下載入的。如果把這些內容放在頁面上面,向高德的資料中心發出請求以後還沒得到響應,頁面已經載入結束了,所以不顯示。