uniapp h5接入地图选点组件
- 1、申请腾讯地图key
- 2、代码接入
- 2.1入口页面 (pages/map/map)
- template
- script
 
- 2.2选点页面(pages/map/mapselect/mapselect)
- template
- script
 
 
该内容只针对uniapp 打包h5接入地图选点组件做详细说明,如需详细的微信小程序接入地图选点插件,请查阅 uni-app/微信小程序接入腾讯位置服务地图选点插件
1、申请腾讯地图key
文档中提到需要一个地图key,首先登录腾讯位置服务控制台,点击左侧应用管理,创建应用,再添加key。
 
 
 创建完key之后,要记得对key 做配额管理,不然在应用中,会提示获取消息列表失败
2、代码接入
2.1入口页面 (pages/map/map)
本页面为tabBar页面,若实际开发页面不同,则跳转方式自行调整
 
template
<template>
	<view>
		<button @click="open">打开地图选点</button>
		<view v-if="info">
			<text>地址:{{info.poiaddress}}</text>
			<text>坐标:{{info.latlng.lat}}, {{info.latlng.lng}}</text>
		</view>
	</view>
</template>
script
export default {
		data() {
			return {
				info: null
			}
		},
		methods: {
			show(data){
				console.log(data)
				this.info = data
			},
			open() {
				uni.navigateTo({
					url:'/pages/map/mapselect/mapselect'
				})
			}
		},
		onLoad(options) {
			console.log('加载监听获取经纬度的方法')
			uni.$on('loc',this.show)
		},
		onUnload(){
			console.log('卸载获取经纬度的方法')
			uni.$off('loc')
		}	
	}
2.2选点页面(pages/map/mapselect/mapselect)

template
<template>
	<web-view :src="mapurl"></web-view>
</template>
script
<script>
	export default {
		data() {
			return {
				mapurl:''
			}
		},
		onLoad(option) {
			this.mapurl = 'https://apis.map.qq.com/tools/locpicker?search=1&type=1&key={申请过来的key}&referer=myapp'
		},
		onReady() {
			if (window.isListen) {
				return
			}
			window.addEventListener('message', function(event) {
				// 接收位置信息,用户选择确认位置点后选点组件会触发该事件,回传用户的位置信息
				var loc = event.data;
				if (loc && loc.module == 'locationPicker') { //防止其他应用也会向该页面post信息,需判断module是否为'locationPicker'
					console.log('location', loc);
					//将获取的值通过消息传回给父页面
					uni.$emit('loc',loc)
					uni.switchTab({
						url:"/pages/map/map?source=true"
					});
				}
				window.isListen = true
				window.removeEventListener('message', function() {}, true)
			}, false);
		},
		methods: {},
	}
</script>















![[Redis]1-高效的数据结构P2-Set](https://i-blog.csdnimg.cn/direct/023f6a4da5a048fdbaaf56a839fe7b9f.png)


![[渗透测试]渗透测试靶场docker搭建 — —全集](https://i-blog.csdnimg.cn/direct/f0d53ffa538f4d1fa5ec1e2b777a54b0.png)
