天地图图层切换显示

效果图:点击右下角小图层切换图层

 天地图参考文档:天地图API

 可以切换上面五种视图,这里只用其中两种来模拟效果。

<template>
    <view class="map-view-wap">
        <!-- 地图显示容器 -->
        <zz-map-view class="map-box" ref="mapBox" />
        <!-- 右下角的小图层 -->
        <view class="map-mode" @click="changeMapMode()">
            <!-- 普通街道视图 -->
            <image class="map-mode-img" :class="!mapMode ? 'vector' : ''" src="http://api.tianditu.gov.cn/v4.0/image/map/maptype/vector.png" mode=""></image>
            <!-- 卫星视图 -->
            <image class="map-mode-img satellite" src="http://api.tianditu.gov.cn/v4.0/image/map/maptype/satellite.png" mode=""></image>
        </view>
    </view>
</template>


 data() {
     return {
         mapMode: true, //默认地图为普通街道视图
     };
 }


// 点击切换图层
changeMapMode() {
    this.mapMode = !this.mapMode; //点击切换
    const mapBox = this.$refs.mapBox;
    const mapTypes = [window.TMAP_NORMAL_MAP, window.TMAP_HYBRID_MAP];
    // 设置地图类型
    if (this.mapMode) {
        mapBox.map.setMapType(mapTypes[0]);
    } else {
        mapBox.map.setMapType(mapTypes[1]);
    }
},


.map-view-wap {
    padding: 0 24rpx 20rpx 24rpx;
    position: relative;
    .map-box {
        height: 464rpx;
        border: 2rpx solid #D5D5D5;
        background: #D5D5D5;
    }
    .map-mode {
        width: 60rpx;
        height: 60rpx;
        position: absolute;
        bottom: 44rpx;
        right: 46rpx;
        z-index: 400;
        .map-mode-img {
            width: 100%;
            height: 100%;
        }
        // 设置层叠效果
        .satellite {
            position: relative;
            bottom: 60rpx;
            left: 10rpx;
        }
        // 控制是否是普通视图的小图层在上面
        .vector {
            z-index: 401;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值