高德地图获取景点的边界

在项目中,我们有时需要高亮显示特定小区或景点,这需要使用高德地图的 AMap.Polygon 功能,而该功能依赖于区域的边界点数据。以下是获取边界点的两种方法:

方法一:手动获取边界点

  • 工具:使用高德地图的坐标拾取器
  • 步骤:访问坐标拾取页面,手动点击地图选取边界点,记录经纬度坐标。
  • 缺点:手动操作较为繁琐,效率较低,适合小型区域或快速验证。

方法二:通过高德地图 API 获取边界点

  • 工具:高德地图网页版 + 开发者工具(F12)。
  • 步骤
    1. 打开高德地图网页版,搜索目标地点(例如“瘦西湖”)。
    2. 按 F12 打开浏览器开发者工具,切换到“Network”面板。
    3. 找到地点详情接口,例如:https://www.amap.com/detail/get/detail?id=B0202154UD(以瘦西湖为例)。
    4. 在接口返回的 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,确保遵守高德的使用规范
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容