微信小程序地图控件Map的简单配置及使用

效果如下

在这里插入图片描述

.wxml

<!-- 地图 -->
<view class="container">
  <map class='map' setting="{{setting}}" longitude='{{longitude}}' latitude='{{latitude}}' scale='{{scale}}' markers='{{markers}}' controls="{{controls}}">
    <!-- 切换模式 -->
    <view class="btns">
      <block wx:for="{{list}}" wx:key="index">
        <text class="btn {{type === item.type ? 'active' : ''}}" catchtap="switchType" data-type="{{item.type}}">{{item.name}}</text>
      </block>
    </view>
  </map>
</view>

.js

Page({
  data: {
    type: 'map',
    list: [
      {
        name: '地图',
        type: 'map'
      },
      {
        name: '卫星',
        type: 'satellite'
      }
    ],
    longitude: 116.3975, //中心经度
    latitude: 39.9087, //中心纬度
    scale: 14,//缩放级别,取值范围为3-20
    markers: [//标记点
      {
        id: 1,
        joinCluster: true,
        longitude: 116.3975,
        latitude: 39.9087,
        title: '天安门',
        width: '20',
        height: '30',
      }
    ],

    setting: {
      showLocation: true, //当前位置
      enableZoom: true, //缩放
      enableRotate: true, //旋转
      enableSatellite: false,
      enableBuilding: true //展示建筑物
    }
  },

  onLoad() { },

  // 切换地图类型
  switchType(e) {
    const { type } = e.currentTarget.dataset
    const enableSatellite = type === 'satellite'
    this.setData({
      type,
      'setting.enableSatellite': enableSatellite
    })
  },
})

.wxss

.map {
	width: 100%;
	height: 100vh;
}

.btns {
	position: absolute;
	right: 20rpx;
	top: 20rpx;
}

.btn {
	padding: 4rpx 10rpx;
	background-color: #fff;
	font-size: 30rpx;
	color: #000;
	border: 1rpx solid #000;
}

.btn:last-child {
	border-left: none;
}

.btn.active {
	background-color: #269aea;
	color: #fff;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值