1. 程式人生 > >如何呼叫高德地圖api

如何呼叫高德地圖api

首先註冊成為高德地圖開發者,建立應用後申請key

1.引入高德地圖API

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

2.建立地圖容器

<div id="container"></div>   //width:300px; height: 180px;  指定大小樣式

3.建立預設地圖

方式一

var map = new AMap.Map('container');

map.setZoom(10);              //setzoom 指定縮放級別

map.setCenter([116.39,39.9]);  //指定地圖中心

方式二

var map = new AMap.Map('container',{

    zoom: 10,

    center: [116.39,39.9]//new AMap.LngLat(116.39,39.9)

});

現在地圖就出來

常用的地圖操作:

1. 搜尋地點

2. 新增標記

3. 縮放比例尺空間

4. 地圖型別轉換

5. 路線指定

 新增標記

marker = new AMap.Marker({

    position: [116.39, 39.9],  //標記的地圖座標

    map: map

});

如果是多個地點標記可以使用陣列。遍歷迴圈標記

1

2

3

4

5

6

for(var pin markers) {

    marker =new AMap.Marker({

         position: markers[p],

         map: map

        });

}

點標註可以新增引數 自定義圖示

1

2

3

4

5

6

var marker =new AMap.Marker({

        icon :'http://vdata.amap.com/icons/b18/1/2.png',//24px*24px      //自定義圖示

        position : provinces[i].center.split(','),

        offset :

new AMap.Pixel(-12,-12),

        map : mapObj

});

清楚標記

marker.setMap();

控制元件的新增

控制元件的種類

新增方式

1 AMap.plugin(['AMap.ToolBar', 'AMap.Scale', 'AMap.MapType'], function() {2     toolBar = new AMap.ToolBar();  //工具條3     scale = new AMap.Scale();    //比例尺4     mapType = new AMap.MapType();   //地圖種類5     map.addControl(toolBar);6     map.addControl(scale);7     map.addControl(mapType);8 })

刪除控制元件

map.removeControl(toolBar);

地圖搜尋

關鍵字搜尋外掛提供某一特定地區的興趣點位置查詢服務。允許設定搜尋城市、搜尋資料類別、搜尋結果詳略、搜尋結果排序規則等。使用者可以通過自定義回撥函式取回並顯示查詢結果。若服務請求失敗,系統將返回錯誤資訊。

使用外掛之前,需要使用AMap.service方法載入外掛,然後在回撥函式中可以進行服務的設定和查詢:

關鍵字搜尋外掛以及公交換乘外掛(AMap.Transfer)、駕車(AMap.Driving)步行(AMap.Walking)路徑規劃外掛、雲圖外掛(AMap.CloudDataSearch)都有兩種使用方式:

第一種,在建構函式裡傳入mappanel引數,或兩者都傳入。mapAMap.Map例項,paneldiv元素或其id號。一旦傳入,api會自動為使用者生成互動面板和地圖展示。使用者自己控制div的顯示位置及大小,api生成的互動面板和地圖展示的面板格調可以通過修改樣式來實現,樣式名可以通過瀏覽器的除錯工具檢視。實際上,面板的生成及地圖展示是用獨立的渲染外掛實現的,使用者可以把渲染外掛下載下來任意修改預設面板的樣式及結構。程式碼示例:

var placeSearch = new AMap.PlaceSearch({ //構造地點查詢類

    pageSize: 5,

    pageIndex: 1,

    city: "010", //城市    map: map,

    panel: "result"

});//關鍵字查詢

placeSearch.search('方恆', function(status, result) {

});

第二種,直接使用服務返回的資料,構造的option中不寫mappanel屬性,在search方法中傳入回撥函式,如:

var placeSearch = new AMap.PlaceSearch({ //構造地點查詢類

    pageSize: 5,

    pageIndex: 1,

    city: "010"//城市});//關鍵字查詢

placeSearch.search('方恆', function(status, result) {

//TODO:開發者使用result自己建立互動面板和地圖展示   result返回的一組包含地點資訊的物件

});

輸入提示

AMap.Autocomplete根據輸入關鍵字提示匹配資訊,輸入提示經常和地點搜尋配合使用,允許使用者根據輸入提示匹配結果,進行相關POI搜尋。您可以根據輸入提示匹配資訊,將Poi型別和城市作為輸入提示和限制條件,並自定義回撥函式來顯示查詢到的結果。當請求查詢失敗後,系統會返回錯誤資訊。在使用外掛之前,需要使用AMap.plugin方法載入外掛,然後在回撥函式中可以進行服務的設定和查詢:

1

2

3

4

5

6

7

8

9

AMap.plugin('AMap.Autocomplete',function(){//回撥函式

    //例項化Autocomplete

    var autoOptions = {

        city:"",//城市,預設全國

        input:"input_id"//使用聯想輸入的input的id

    };

    autocomplete=new AMap.Autocomplete(autoOptions);

    //TODO: 使用autocomplete物件呼叫相關功能

})

輸入提示與POI搜尋結合

通常聯想輸入提示與POI搜尋結合使用,直接顯示出搜尋結果。

AMap.plugin(['AMap.Autocomplete','AMap.PlaceSearch'],function(){

var autoOptions = {

          city: "北京", //城市,預設全國

          input: "input"//使用聯想輸入的inputid     };

     autocomplete= new AMap.Autocomplete(autoOptions);

var placeSearch = new AMap.PlaceSearch({

              city:'北京',

              map:map

     });

     AMap.event.addListener(autocomplete, "select", function(e){

//TODO 針對選中的poi實現自己的功能           placeSearch.search(e.poi.name)

     });

 });

以上就是關於高德地圖api呼叫的內容了!!!!!!!