高德地图——2D转换3D

 

 

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.11&key=9de88a718781910c9a1c81230827d1ce&plugin=AMap.ControlBar"></script>
        <title>5-4添加标记练习</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            #container{
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
            }
        </style>
    </head>
    <body>
        <div id="container"></div>
        
        <script>
            var map = new AMap.Map('container',{
                zoom:10,
                center:[116.379391,39.861536],
                pitch:90,  //倾斜度数
                viewMode:'3D',  //默认2D
                buildingAnimation:true  //默认false,表示是否将建筑物动画显示
            });
            
            map.addControl(new AMap.ControlBar({   //添加控件
                showZoomBar:true,     //显示zoom条控件,false表示不显示
                showControlButton:true,  //默认false,false表示取消,旋转按钮将变成南北指南针
                position:{  //控件的定位
                    right:'50px',
                    top:'30px'
                }
            }))
            
            
        </script>
    </body>
</html>

 

转载于:https://www.cnblogs.com/rickdiculous/p/11431900.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
高德地图JavaScript API 提供了 `AMap.Map` 类来创建地图实例。在创建地图实例时,可以通过传递不同的参数来设置地图的属性,包括视觉效果模式。 要在 Vue 应用程序中使用高德地图,可以将 `AMap.Map` 类封装成 Vue 组件。以下是一个简单的例子: ```html <template> <div id="map-container"> <div ref="map" style="width: 100%; height: 100%;"></div> <div class="switch-btn" @click="toggleMode">{{ modeText }}</div> </div> </template> <script> export default { data() { return { mode: '2D', }; }, mounted() { this.initMap(); }, methods: { initMap() { // 创建地图实例 this.map = new AMap.Map(this.$refs.map, { zoom: 16, center: [116.397428, 39.90923], viewMode: '3D', // 默认为 3D 视觉效果模式 }); }, toggleMode() { // 切换视觉效果模式 this.mode = this.mode === '2D' ? '3D' : '2D'; this.map.setFeatures(this.mode === '2D' ? ['road', 'building'] : ['road', 'building', 'satellite']); }, }, computed: { modeText() { return this.mode === '2D' ? '切换到 3D' : '切换到 2D'; }, }, }; </script> <style> #map-container { position: relative; width: 100%; height: 100vh; } .switch-btn { position: absolute; top: 10px; right: 10px; padding: 10px; background-color: rgba(0, 0, 0, 0.5); color: #fff; cursor: pointer; } </style> ``` 在上面的代码中,我们创建了一个地图容器和一个切换按钮。初始时,地图使用 3D 视觉效果模式。当用户点击切换按钮时,我们会切换到 2D 视觉效果模式,并将地图的图层设置为只显示道路和建筑物。如果用户再次点击切换按钮,则会切换回 3D 视觉效果模式,并将地图的图层设置为显示卫星图像、道路和建筑物。 需要注意的是,在 Vue 应用程序中使用高德地图时,需要在 `mounted` 钩子函数中初始化地图,因为只有在组件挂载到 DOM 中之后,才能正确地获取容器元素的引用。同时,为了防止内存泄漏,需要在组件销毁时销毁地图实例。可以在 `beforeDestroy` 钩子函数中调用 `AMap.Map` 类的 `destroy` 方法来完成销毁操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值