1. 程式人生 > >高德地圖API呼叫和標準(轉)

高德地圖API呼叫和標準(轉)

看過高德地圖API的同學都知道,高德地圖不同端呼叫是不一樣的,作為一個前端菜鳥,前一陣分別在pc端和移動端分別呼叫了高德地圖。情況是這個樣子的,PC端呢我們可以用高德API的web端的javascript程式碼。呼叫沒有問題,具體是這樣的:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

</head>

<body>

<div class="_map" id="container" tabindex="0"></div>  //放地圖的盒子(自定義一定大小的)

<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=你自己申請的KEY值"></script>

<script >

//調取高德地圖,根據經緯度定位

var map = new AMap.Map('container',{  //初始化地圖

    resizeEnable: true,

    zoom: 10,  //縮放比例

    center: [116.397428, 39.90923],  //你要打標註的點的位置

    mapStyle:'amap://styles/d6bf8c1d69cea9f5c696185ad4ac4c86'

});

map.plugin(["AMap.ToolBar"], function() { //地圖工具欄,可滑動設定縮放比例

    map.addControl(new AMap.ToolBar());

});

//新增標註

function addMarker(j,w){

    marker = new AMap.Marker({

        icon:new AMap.Icon({

            image: "img/pcdt.png",  //自己做的一個標註圖!!

            size: new AMap.Size(23, 29),  //圖示大小

            imageSize: new AMap.Size(23,29)

        }),

        position:new AMap.LngLat(j,w) //標註位置(經緯度)

    });

    marker.setMap(map);  //在地圖上新增點

    //滑鼠點選marker彈出自定義的資訊窗體

    AMap.event.addListener(marker, 'click', function() {

        infoWindow.open(map, marker.getPosition());

    });

}

 addMarker(116.397428, 39.90923);   //例項化

//!!!!!!以下是新增更多詳盡資訊。。(還有更多,請看高德API)

// // addMarker(116, 39);

// //新增窗體資訊

// //例項化資訊窗體

// var content = [];

// content.push("地址:北京市朝陽區阜通東大街6號院3號樓東北8.3公里");

// var infoWindow = new AMap.InfoWindow({

//     isCustom: true,  //使用自定義窗體

//     content: createInfoWindow(content.join("<br/>")),

//     offset: new AMap.Pixel(110, -5)

// });

//

// //構建自定義資訊窗體

// function createInfoWindow( content) {

//     var info = document.createElement("div");

//     info.className = "info";

//     // 定義中部內容

//     var middle = document.createElement("div");

//     middle.className = "info-middle";

//     middle.style.backgroundColor = 'white';

//     middle.innerHTML = content;

//     info.appendChild(middle);

//

//     // // // // 定義底部內容

//     var bottom = document.createElement("div");

//     bottom.className = "info-bottom";

//     bottom.style.position = 'relative';

//     bottom.style.top = '0px';

//     bottom.style.margin = '0 auto';

//     var sharp = document.createElement("img");

//     sharp.src = "https://webapi.amap.com/images/sharp.png";

//     bottom.appendChild(sharp);

//     info.appendChild(bottom);

//     return info;

// }

</script>

</body>

</html>

記得要自己申請key值才可以。

移動端呢,其實呼叫高德地圖是十分有限制的,首先要確保使用者手機安裝了高德地圖的軟體(一般人都會安裝地圖,百度或高德,我想應該是可以獲取手機資訊判斷有哪個地圖軟體再去呼叫!),如果沒有呼叫也看不到啊,其次移動端的呼叫前端也只能實現到地圖的展示打點了,因為高德地圖API說的很清楚,後端的java或者oc給了介面,前端的小夥伴可謂是有心無力啦,希望不久的將來前端可以自由呼叫吧。