高德地图 Web JS API示例学习笔记(3)——地图(三维地图)

三维地图

3D地图

map = new AMap.Map('container', {
   resizeEnable: true,
   rotateEnable: true,
   pitchEnable: true,
   zoom: 17,
   pitch: 80,
   rotation: -15,
   viewMode: '3D', //开启3D视图,默认为关闭
   buildingAnimation: true, //楼块出现是否带动画
   // 是否支持可以扩展最大缩放级别,和zooms属性配合使用
   // 设置为true的时候,zooms的最大级别在PC上可以扩大到20级,移动端还是高清19/非高清20
   expandZoomRange: true,
   zooms: [3, 20],
   center: [116.333926, 39.997245]
 });

 map.addControl(new AMap.ControlBar({
   // 缩放工具条
   showZoomBar: false,
   showControlButton: true,
   position: {
     right: '10px',
     top: '10px'
   }
 }))

区域掩膜

区域掩膜只在3D视图下,才有效
利用行政区查询获取边界构建mask路径

var district = new AMap.DistrictSearch(opts);
    district.search('北京市', function (status, result) {
      var bounds = result.districtList[0].boundaries;
      var mask = []
      for (var i = 0; i < bounds.length; i += 1) {
        mask.push([bounds[i]])
      }
      var map = new AMap.Map('container', {
        // 区域掩膜只在3D视图下,才有效
        // 一维数组时代表一个普通多边形路径
        mask: mask,
        center: [116.472804, 39.995725],
        disableSocket: true,
        viewMode: '3D',
        showLabel: false,
        // 地图标注显示顺序,大于110即可将底图上的默认标注显示在覆盖物(圆、折线、面)之上。
        labelzIndex: 130,
        pitch: 40,
        zoom: 9,
        layers: [
          new AMap.TileLayer.Satellite(),
          new AMap.TileLayer.RoadNet({
            //rejectMapMask:true
          })
        ]
      });
      //添加高度面
      var object3Dlayer = new AMap.Object3DLayer({
        zIndex: 1
      });
      map.add(object3Dlayer)
      var height = -8000;
      var color = '#0088ffcc'; //rgba
      var wall = new AMap.Object3D.Wall({
        path: bounds,
        height: height,
        color: color
      });
      wall.transparent = true
      object3Dlayer.add(wall)
      //添加描边
      for (var i = 0; i < bounds.length; i += 1) {
        new AMap.Polyline({
          path: bounds[i],
          strokeColor: '#99ffff',
          strokeWeight: 4,
          map: map
        })
      }
    });
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值