我是靠谱客的博主 诚心乐曲,最近开发中收集的这篇文章主要介绍高德GIS地图动态显示打点数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

该案例的需求为根据不同的地图层级,动态展示对应的打点(业务操作如:当地图缩放到省级单位时,显示省级的地图打点数据,当缩放到市级则显示市级对应打点数据,依次类推…一直到街道)
!注意:该功能在引入高德api时还需要引入一个插件(plugin=ElasticMarker)

<body>
  <h1 id="zoom">4</h1>
  <div class="" id='map'>

  </div>
</body>
<script type="text/javascript">

  var map = new AMap.Map('map', {
    zooms: [4, 13], //设置地图级别范围
    zoom: 4,
    center: [115.46, 40]
  });
  map.on('zoomend', function(){
    var zoom = map.getZoom();
    var h = document.querySelector('#zoom')
    h.innerText ='当前地图层级为:'+zoom
  });
  var zoomStyleMapping = { //用来表示地图级别与 灵活打点的styles中样式对应关系的映射,
    4: 0, // 以下的定义意思是地图的4-9级用 第一个样式(第0项)10-13级用第二个样式(第1项)
    5: 0,
    6: 0,
    7: 0,
    8: 0,
    9: 0,
    10: 1,
    11: 1,
    12: 1,
    13: 1
  }


  var showBoxMarker = new AMap.ElasticMarker({
    position: [116.419763, 39.882967],
    zooms: [5, 16], // 设置当前打点在地图的5-16级别区间内执行
    styles: [
      { //第一组样式(本例中,4-9级用 第一个样式(第0项)10-13级用第二个样式(第1项))
        icon: { // 打点的icon
          img: "https://i.i8tq.com/dongao/1112-image8.png",
          size: [300, 200], //可见区域的大小
          ancher: [40, 36], //锚点,图标原始大小下锚点所处的位置,相对左上角
          //可缺省,当使用精灵图时可用,标示图标在整个图片中左上角的位置
          imageSize: [300, 200],
          //可缺省,当使用精灵图时可用,整张图片的大小
          fitZoom: 10, //最合适的级别,在此级别下显示为原始大小
          maxScale: 2, //最大放大比例
          minScale: 1 //最小放大比例
        },
        label: {// 打点的label ,一般可以放入动态的html
          content: '<div><h1>test1</h1></div>',
          position: 'BM', //文本位置相对于图标的基准点,
          //BL、BM、BR、ML、MR、TL、TM、TR分别代表左下角、底部中央、右下角、
          //左侧中央、右侧中央、左上角、顶部中央、右上角。
          //缺省时代表相对图标的锚点位置
          offset: [40, 36], //相对position的偏移量
          minZoom: 6 //label的最小显示级别
        }
      },
      {//第二组样式(本例中,4-9级用 第一个样式(第0项)10-13级用第二个样式(第1项))
        icon: {
          img: "https://i.i8tq.com/dongao/1112-image1.png",
          size: [200, 120], //可见区域的大小
          ancher: [40, 36], //锚点,图标原始大小下锚点所处的位置,相对左上角
          //可缺省,当使用精灵图时可用,标示图标在整个图片中左上角的位置
          imageSize: [200, 120],
          //可缺省,当使用精灵图时可用,整张图片的大小
          fitZoom: 10, //最合适的级别,在此级别下显示为原始大小
          //  scaleFactor: 2, //地图放大一级的缩放比例系数
          maxScale: 2, //最大放大比例
          minScale: 1 //最小放大比例
        },
        label: {
          content: '<div><h1>test2</h1></div>',
          position: 'BM', //文本位置相对于图标的基准点,
          //BL、BM、BR、ML、MR、TL、TM、TR分别代表左下角、底部中央、右下角、
          //左侧中央、右侧中央、左上角、顶部中央、右上角。
          //缺省时代表相对图标的锚点位置
          offset: [40, 36], //相对position的偏移量
          minZoom: 6 //label的最小显示级别
        }
      }
    ],
    zoomStyleMapping: zoomStyleMapping //	表示地图级别与styles中样式对应关系的映射
  })
  map.add(showBoxMarker);
</script>

效果如下:

  1. 当在国家级时(zoom=4)在这里插入图片描述

  2. 当在省市县级时(10>zoom>4):在这里插入图片描述

  3. 当到街道时(zoom>=10)
    在这里插入图片描述

最后

以上就是诚心乐曲为你收集整理的高德GIS地图动态显示打点数据的全部内容,希望文章能够帮你解决高德GIS地图动态显示打点数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部