高德地圖獲取道路信息、並將道路繪制


目標 :需要通過路的名字,將道路在地圖中繪制出。

查找路的信息

通過路名搜索路

http://restapi.amap.com/v3/road/roadname?key=yourkey&keywords=靖江路&city=022

參數名稱 參數含義
key 高德API 申請的key
keywords 路名稱
city 城市citycode 下載地址見參考文獻

通過路id搜索路

http://restapi.amap.com/v3/road/roadid?city=020&key=yourkey&id=022J50F0110263228

參數名稱 參數含義
key 高德API申請的key
id roadid
city 022

通過API自帶接口查找路的信息

var roadSearch = new AMap.RoadInfoSearch({ //構造地點查詢類
    pageSize: 100,
    pageIndex: 1,
    city: "022"
});
roadSearch.roadInfoSearchByRoadId('022J50F0110263228', function(status, result) {

}
roadSearch.roadInfoSearchByRoadName('靖江路', function(status, result) {

}                                                  
參數名稱 參數含義
AMap.RoadInfoSearch 構造函數,實例化一個道路信息查詢實例
roadInfoSearchByRoadId(id:String, callback:function(status:String,result:info) 通過路id搜索
roadInfoSearchByRoadName(keyword:String, callback:function(status:String,result:info) 通過路名搜索

通過POI 直接繪制道路(此功能未詳細研究)

https://ditu.amap.com/place/B0FFGQ7RGA

參數名稱 參數含義
POIid POI的Id

返回 RoadInfo 對象

屬性 類型 說明
id String 道路id,該id是唯一標識
name String 道路名稱
type String 道路類型文字描述,詳細參考道路類型列表
center LngLat 道路中心點坐標
citycode String 城市編碼
path/polylines Array.<Array.<LngLat>> 道路路徑坐標集合

將路徑坐標集合繪制在地圖中

//這只是一個示例
for (let i = 0; i < result.roadInfo.length; i++) {
    const element = result.roadInfo[i];
    for (let j = 0; j < element.path.length; j++) {
    const path = element.path[j];
    const polyline = new AMap.Polyline({
        path: path,  
        borderWeight: 2, // 線條寬度,默認為 1
        strokeColor: 'red', // 線條顏色
        lineJoin: 'round' // 折線拐點連接處樣式
    });
    map.add(polyline)
}
}


map.setFitView();

參考文章:

  1. 通過高德地圖API獲得某條道路上的所有坐標用於描繪道路
  2. 高德地圖開發文檔中搜索服務
  3. citycode下載地址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM