高德地图获取道路信息、并将道路绘制

目标 :须要经过路的名字,将道路在地图中绘制出。javascript

查找路的信息

经过路名搜索路

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

参数名称 参数含义
key 高德API 申请的key
keywords 路名称
city 城市citycode 下载地址见参考文献

经过路id搜索路

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

参数名称 参数含义
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下载地址
相关文章
相关标签/搜索