在项目中,我们有时需要高亮显示特定小区或景点,这需要使用高德地图的 AMap.Polygon 功能,而该功能依赖于区域的边界点数据。以下是获取边界点的两种方法:
方法一:手动获取边界点
- 工具:使用高德地图的坐标拾取器。
- 步骤:访问坐标拾取页面,手动点击地图选取边界点,记录经纬度坐标。
- 缺点:手动操作较为繁琐,效率较低,适合小型区域或快速验证。
方法二:通过高德地图 API 获取边界点
- 工具:高德地图网页版 + 开发者工具(F12)。
-
步骤:
- 打开高德地图网页版,搜索目标地点(例如“瘦西湖”)。
- 按 F12 打开浏览器开发者工具,切换到“Network”面板。
- 找到地点详情接口,例如:https://www.amap.com/detail/get/detail?id=B0202154UD(以瘦西湖为例)。
- 在接口返回的 JSON 数据中,定位 spec.mining_shape.shape 字段,该字段包含区域的边界点坐标。
- 示例数据(以瘦西湖为例):
{
"spec": {
"mining_shape": {
"shape": "119.415283,32.408801;119.41521,32.409055;119.415162,32.409134;...",
"center": "119.420197,32.409631",
"level": 15,
"shape_type": "0",
"aoiid": "G00AOI000006D93G"
}
}
-
说明:
- shape 字段包含一组经纬度坐标,格式为 经度,纬度;经度,纬度;。
- center 表示区域中心点,level 表示缩放级别,aoiid 为区域唯一标识。
- 优点:数据精准,适合复杂区域,自动化程度高。
- 注意:接口数据可能因高德地图版本更新而变化。
其他注意事项
- 数据处理:从接口获取的 shape 坐标点需解析为 AMap.Polygon 可用的格式(通常为 AMap.LngLat 数组)。
var polygon = new AMap.Polygon({
map: map,
path: polygonArray, // 设置多边形边界路径
strokeColor: "red", // 线颜色
strokeOpacity: 0.2, // 线透明度
strokeWeight: 3, // 线宽
fillColor: "green", // 填充色
fillOpacity: 0.35 // 填充透明度
});
- 接口限制:调用高德地图接口可能需要 API Key,确保遵守高德的使用规范