腾讯位置服务示例小程序(二)

本文详述了腾讯位置服务小程序中Map组件的使用,包括地图显示、地图控件、标注点等功能。通过初始化tab导航组件、控制地图显示、使用地图控件以及交互事件,展示了如何在小程序中实现地图功能。
摘要由CSDN通过智能技术生成

前言

本篇博文主要对Map组件下的二级菜单进行学习。

Map组件

地图显示

在地图显示页面中,主要由tab导航,地图显示窗口和切换按钮组成。虽然该页面内容较为丰富,但我们只对较为实用对几个功能进行学习。

tab导航组件的初始化

tab导航组件的初始化在这个小程序中非常的简单,只需要在wxml中进行如下声明

<tab tabList="{
    {tabList}}" bind:clickTab="clickTab"/>

其中,tab为一个组件,在json文件中引入;tabList为需要在js文件中进行定义的数据列表;clickTab为需要在js文件中进行定义的响应函数。至于tab这个组件的详细学习,我们会在稍后进行学习。根据tab组件的要求,tabList中的每一段数据需要包含name属性,故js中的表示如下

tabList: [{
   
			id: 0,
			show: true,
			name: '基础地图'
		},{
   
			id: 1,
			show: false,
			name: '室内图'
		},{
   
			id: 2,
			show: false,
			name: '海外地图'
		},{
   
			id: 3,
			show: false,
			name: '卫星图'
		}],

其中,id可以用来进行唯一标示,show可以用来表示该子tab对应的页面是否应当被显示。当点击tab中的子标签时,会触发tab导航的响应函数,即

	// 点击标题栏处的tab的响应函数
	clickTab (event) {
   
		// 与之前类似,即使用id来判断当前哪个tab被点击
		const id = event.detail.current,list = this.data.tabList;
		for (let i = 0, len = list.length; i < len; ++i) {
   
			if (list[i].id === id) {
   
				list[i].show = !list[i].show;
			} else {
   
				list[i].show = false;
			}
		}
		// 更新数据
		this.setData({
   
			tabList: list
		});
	},

自此,tab导航组件初始化完毕。

使用tab导航来控制哪一个页面需要被显示

由于tab导航使用show字段来表示当前哪个tab子控件处于激活状态,故在wxml中,使用如下代码来对页面进行显示和不显示的操作

<view class="map-content pl20 {
    {tabList[0].show ? 'map-content-show' : '' }}">
<view class="map-content pl20 {
    {tabList[1].show ? 'map-content-show' : '' }}">
<view class="map-content pl20 {
    {tabList[2].show ? 'map-content-show' : '' }}">
<view class="map-content pl20 {
    {tabList[3].show ? 'map-content-show' : '' }}">

由上述代码可以看出,当tabList[n].show的值为true时,即表示当前第n个子控件处于激活状态,故将该页面进行展示。

地图控件的显示

微信小程序API提供了一个直接用来显示地图的组件,能够使开发者轻而易举的将地图展现到页面中。在这里,主要列举了两个较为典型的地图组件使用方式

<!-- 这里的latitube和logitude为经纬度
        即打开地图是的视野位置 -->
<!-- enable-3D是否显示3D楼块,参数为bool -->
<!-- enable-traffic是否开启实时路况,参数为bool -->
<map class="map" latitude="40.040415" longitude="116.273511" scale="17" enable-3D
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值