高德地图web绘制省、市、区 边界线和面积图

灰太狼 2023-06-15 07:26 43阅读 0赞

高德地图web绘制省、市、区 边界线和面积图

高德地图官方API

图例 在这里插入图片描述

总结要点

  1. 申请高德地图的key 用于后边web调用 高德地图key申请
  2. 引用 <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值&plugin=AMap.DistrictSearch"></script>
  3. 初始化地图

    let map = new AMap.Map(‘container’, {

    1. resizeEnable: true,
    2. center: [116.30946, 39.937629],
    3. zoom: 3//缩放级别
    4. });
  4. 引用同步插件

    //行政区划查询

    1. var opts = {
    2. subdistrict: 1, //返回下一级行政区
    3. showbiz:false //最后一级返回街道信息
    4. };

    let district = new AMap.DistrictSearch(opts);//注意:需要使用插件同步下发功能才能这样直接使用

  5. 获取当前需要绘制的区域数据

    //说明 district 参数对象是由 第四步引用插件是创建

    1. district.setLevel("province"); //行政区级别
    2. district.setExtensions('all');
    3. //行政区查询
    4. //按照adcode进行查询可以保证数据返回的唯一性
    5. let cityCode = "610400";//注意这个参数必须是字符串,要不然显示不出来的
    6. district.search(cityCode, function (status, result) {
    7. if (status === 'complete') {
    8. // 绘制区域
    9. getData(result.districtList[0]);
    10. }
    11. });
  6. 绘制所需要的区域位置 [很重要]

    /* 参数说明 data- 数据要由官方同步获取,以免后边绘制地图参数发生变化,实例中由步奏 5中获取到的result参数中传来 /

    1. let polygons = [];//绘制区域面积图的数组
    2. function getData(data) {
    3. var bounds = data.boundaries;
    4. if (bounds) {
    5. for (var i = 0, l = bounds.length; i < l; i++) {
    6. var polygon = new AMap.Polygon({
    7. map: map,
    8. strokeWeight: 1,
    9. strokeColor: '#0091ea',
    10. fillColor: '#80d8ff',
    11. fillOpacity: 0.2,
    12. path: bounds[i]
    13. });
    14. polygons.push(polygon);
    15. }
    16. map.setFitView();//地图自适应
    17. }
    18. }
  7. 擦除已经绘制的区域面积图

    /* 步奏6中的polygons[] 就是我们绘制的区域数据,去过不需要的话,可以用for循环设置为空,就清除可 */

    1. for (var i = 0, l = polygons.length; i < l; i++) {
    2. polygons[i].setMap(null);
    3. }

发表评论

表情:
评论列表 (有 0 条评论,43人围观)

还没有评论,来说两句吧...

相关阅读