小程序结合腾讯地图(QQMapWX)SDK做位置周边搜索在地图上展示气泡点,点击气泡展示不同状态

本文介绍了如何在微信小程序中结合腾讯地图SDK,实现地图全屏展示,显示周边设施的气泡点。通过cover-view和cover-image处理地图层级,利用marks设置标记点,并通过bindcallouttap监听气泡点击事件。同时,文章讲解了如何通过腾讯地图SDK的搜索方法获取坐标点附近的设施,并转换为所需格式。此外,还涉及到地图导航的实现和代码实现的各个部分。
摘要由CSDN通过智能技术生成

1.背景:

在微信小程序中,地图上展示一个坐标点周边的医院学校等周边设施,通过地图上气泡的方式。点击气泡展示不同的气泡状态,点击导航跳转到对应气泡点所在的坐标位置。

2.实现思路:

2.1布局:

地图全屏展示,地图上的位置tablist展示在地图底部,跳转导航按钮位于地图右上角。因为map属于原生标签,而且层级比较高,所以tablist和按钮都需要通过cover-view和cover-image来提高层级。官网传送门

2.2map部分:

需要在地图上做标记,通过marks进行标记点(cover即将废弃,点击跳转官网)

地图上气泡点的点击事件是通过给map添加bindcallouttap来实现的,点击去官网查看

获取当前点击的气泡是通过  bindcallouttap的  “点击标记点对应的气泡时触发e.detail = {markerId}”,官网中也有说明;

map跳转导航,通过wx.openLocation的api来实现的,点击去官网

2.3 腾讯地图SDK:

需要通过坐标点来获取周边的位置,肯定需要用到第三方的SDK来查找,点击官网传送门,比较简单明了,大概看一下就会用了:

几点说明:

① 需要申请密匙;

② 加入合法域名;

③ 下载 qqmap-wx-jssdk.min.js 包并且引入;

④ 这个地方主要使用 qqmapsdk.search 查找方法(传入关键词,写入一个需要几条(不写默认10条),传入经纬度(用逗号拼接),然后对获取的数据进行处理为自己所需要的格式);

⑤ 当然了,对于接口所返回的distance如果感觉不准确的话可以使用距离计算的方法 qqmapsdk.calculateDistance,传入起始点的坐标位置,传入终点位置(终点可以是一个点页可以是多个点,通过坐标的方式可以计算的,具体使用可以参考官网,写的也比较详细);

3.代码实现:

3.1wxml

<map id="map" longitude="{
  {t_lng}}" latitude="{
  {t_lat}}" scale="15" markers="{
  {markers}}" class="map_map" style="width: 100%; height: 100vh;" bindcallouttap="callouttap">
	
	<!-- tab点击切换不同内容 -->
	<cover-view class="xmwzB flex tfAlignC flexSb">
		<view class="xmwzBLi {
  {index==xmwzB_index?'on':''}}" data-index='{
  {index}}' catchtap="xmwzB_click" wx:for='{
  {tabs}}' wx:key='index'>
			<image class="img" src="{
  {index!=xmwzB_index?item.ico:item.ico_active}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值