天地图图层切换显示

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

 

 

 

 天地图参考文档:天地图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;
        }
    }
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现同一张柱状图图切换不同使用fetch后端传来的数据,可以通过以下步骤来实现: 1. 在页面中引入echarts和element-ui组件库。 2. 创建一个包含el-radio-button的组件,用于切换不同的数据源。例如: ``` <template> <div> <el-radio-group v-model="selected" @change="handleChange"> <el-radio-button :label="1">数据源1</el-radio-button> <el-radio-button :label="2">数据源2</el-radio-button> </el-radio-group> </div> </template> <script> export default { data() { return { selected: 1 // 默认选中数据源1 } }, methods: { handleChange() { // 切换数据源 // 根据选中的数据源发送fetch请求获取数据 // 调用echarts的setOption方法更新图表数据 } } } </script> ``` 3. 在methods中实现handleChange方法,用于切换数据源。在该方法中,可以根据选中的数据源发送fetch请求获取数据,并调用echarts的setOption方法更新图表数据。例如: ``` handleChange() { let url = '' if (this.selected === 1) { url = 'xxx' // 数据源1的接口地址 } else if (this.selected === 2) { url = 'yyy' // 数据源2的接口地址 } fetch(url) .then(response => response.json()) .then(data => { // 根据返回的数据更新echarts图表 let option = { // echarts图表的配置项 } option.series[0].data = data // 更新柱状图的数据 this.$refs.chart.setOption(option) // 更新echarts图表 }) } ``` 4. 在页面中创建一个echarts图表实例,并设置ref属性,用于在方法中调用setOption方法更新数据。例如: ``` <template> <div> <el-radio-group v-model="selected" @change="handleChange"> <el-radio-button :label="1">数据源1</el-radio-button> <el-radio-button :label="2">数据源2</el-radio-button> </el-radio-group> <div ref="chart" style="width: 100%; height: 400px"></div> </div> </template> <script> export default { mounted() { // 在mounted生命周期中创建echarts图表实例 this.chart = echarts.init(this.$refs.chart) // echarts图表的配置项 let option = { // ... } this.chart.setOption(option) }, methods: { handleChange() { // ... this.chart.setOption(option) // 更新echarts图表 } } } </script> ``` 通过以上步骤,即可实现在echarts中用el-radio-button按钮实现同一张柱状图图切换不同使用fetch后端传来的数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值