微信小程序地图组件利用腾讯地图生成热力图

由于找遍全网都没有使用过腾讯地图热力图接口的,所以我是靠自己一个个尝试的,所有尝试了很多步骤才做出来,所以很多步骤可能多于,但是我也不知道拿几个步骤才是真正实现热力图的,所以全部都写出来,如果大家有补充的可以在评论区发言。本人水平不足,很多地方考虑不到,文章也不怎么会写,但希望能通过文章帮到你!

1. 申请密钥key

首先要在腾讯地图官网注册一个key
地址:腾讯位置服务 - 立足生态,连接未来

我是勾选了WebServiceAPI SDK 微信小程序三个选项 然后创建了一个key

这个key在后面要用到很多地方

2.点击下面的图层编辑

 我选的是标准热力图,然后点击导入数据

点击下面那个下载数据模板,就会给你一个longitude、latitude、weight的xlsx 然后填完导入进去就好,进入就可以编辑各种东西了,如下图所示:

各种编辑完后,发布一下

 然后就会跳转到图层绑定页面:

输入一下小程序appID 然后绑定一下图层 提交即可 

3.然后点数据管理的我的数据

 设置一下数据权限

绑定你的key

4.然后进入这个网站

地址:控制台文档 | 腾讯位置服务 (qq.com)

发布一下自己的图层

就是调用这个URL

https://apis.map.qq.com/data_layer/v1/publish?key=xxxxxxxx&layerid=xxxxxxxxxxxx

传入自己的key和layerid 这里的layerid的i是小写 后面小程序里是大写!

 这一步执行完 图层就应该可以被小程序访问了

5.微信公众平台小程序开发管理里设置一下request合法域名 如下

6.打开自己的小程序

首先在自己的小程序map组件里设置一下key,一定要加不然最后没呈现效果

 <map  subkey="xxxxxxxxxxxxxxx">

然后调用一下微信小程序自带的添加可视化图层的api,地址如下:

MapContext.addVisualLayer(Object object) | 微信开放文档 (qq.com)

然后传入你的图层id就可以呈现了,这里传的图层id,属性是layerId,和上面不一样,提醒一下

7.意外

当然我没有这么轻松实现,因为这个图层和MapContext.addGroundOverlay添加的图层是有冲突的,MapContext.addGroundOverlay添加的图层会比MapContext.addVisualLayer(Object object)添加的图层慢调用,尽管语句上Layer比Overlay靠后,Overlay还是先执行,然后覆盖了热力图导致没显示,我最后是在Overlay的回调函数里再调用MapContext.addVisualLayer,这样就保证热力图在最上面了。

小程序上实现的效果和腾讯地图上差异还是有的,不过也没啥关系

接口也是不久前才出,网上都没有相应教程,腾讯地图的官方文档只告诉你调用MapContext.addVisualLayer。。。摸索了好久,我在自己的小程序上能实现,体验版和真机调试都行,如果有其他补充的地方欢迎大家一起完善!!!!!!!

第一次写文章样式什么的不太好看,愿谅解。

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 34
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值