首页 > 移动应用 > 正文

小程序下的地图还能这么玩,你知道吗?

2020-12-18 10:21:00  来源:segmentfault.com

摘要:近几年来小程序生态的飞速发展大家都有目共睹,随着小程序与线下场景的结合日益紧密,地图类功能已经成为越来越多小程序的“标配”。
关键词: 小程序 地图
  近几年来小程序生态的飞速发展大家都有目共睹,随着小程序与线下场景的结合日益紧密,地图类功能已经成为越来越多小程序的“标配”。
 
  腾讯位置服务一直在为微信和小程序提供底层的地图支持。同时,我们也始终在与微信紧密配合,不断夯实丰富我们在小程序下的地图能力,升级开发者的“工具箱”和“武器库”, 满足小程序开发者在不同业务场景下对地图能力的需求。
 
  Map API功能全新升级
 
  近期小程序在Map API中新增多项功能,其中包含moveAlong、initMarkerCluster等。
 
  moveAlong
 
  moveAlong 帮助开发者实现指定路径移动 Marker,并且Marker朝向可以配合路线朝向旋转的效果,主要应用于轨迹回放、出行司乘同显等场景。若动画进行中,对同一 marker 再次调用 moveAlong 方法,前一次的动画将被打断。同时还可以通过设置平滑移动的时间 duration,实现轨迹回放快慢的设置。
 
  initMarkerCluster
 
  initMarkerCluster 即点聚合能力,当地图上需要展示的 marker 过多,可能会导致界面上 marker 出现压盖,展示不全,并导致整体性能变差、用户使用卡顿的情况。针对此类问题,推出点聚合能力,将大量Maker 通过聚合的方式进行展示。比如大型连锁店场景,当用户查找区域甚至是一座城市的某品牌连锁店时,当地图放大层级总览全城时,点聚合能力可以使地图上的点位自动相邻合并达到最佳展示效果。
 
  openMapApp
 
  openMapApp 用来直接调起用户安装的地图App列表,类似微信发送位置时的场景,实现用户跳转其他地图App完成路线规划或导航的需求。以往的使用场景中,用户无法直接通过小程序跳转地图APP,需要先前往微信选点再跳转app,不仅步骤繁琐同时跳转到地图App时并没有携带起终点位置,根本无法实现路线规划。目前此功能可以完美解决该问题,用户可以直接在自己的小程序拉起地图App并展现从起点至终点的路线规划。
 
  fromScreenLocation 与 toScreenLocation
 
  小程序提供一组新的api,帮助开发者实现屏幕坐标和经纬度的互相转换。fromScreenLocation可以获取屏幕上的点对应的经纬度,toScreenLocation可以获取经纬度对应的屏幕坐标。
 
  includePoints
 
  includePoints 即缩放视野展示所有POI。当地图存在多个 POI 点位、地图只显示了部分点位时,通过 includePoints 能力即可完成地图视野级别自动缩放包含所有点位的效果,并且可以通过 padding 设置坐标点形成的矩形边缘到地图边缘的距离,达到最佳显示效果。
 
  Map组件优化
 
  地图视野控制
 
  小程序Map组件的地图视野控制支持缩放、俯仰、3D楼快等控件,还支持通过向左向右、放大缩小等传统手势控制地图视野变化。同时近期新增的“缩放级别”功能,可以控制 3-20 级别的视野缩放范围,避免用户过大或过小的改变地图视野导致地图展示效果不佳,影响用户体验。
 
  覆盖物-彩虹线
 
  新增了彩虹线能力。在路线规划场景,开发者可以通过运用该能力反馈道路拥堵情况,红色拥堵、黄色缓行、绿色畅通。彩虹线作为线条属性与实线、虚线三者相互冲突。
 
  地图检索全面上架
 
  要想搭建完整的LBS应用,除了地图展示功能外还离不开地图检索能力。我们在微信开放社区的服务平台上线了一系列服务,包含4个POI数据类(逆地址解析、地址解析、地点搜索、关键词输入提示)、2个路线规划类(驾车路线规划、步行路线规划)、1个坐标工具类(坐标转换),覆盖了绝大部分地图应用场景。
 
  考虑到众多开发者有拓展微信小程序海外市场的需求,我们也在腾讯位置服务官网提供了海外位置接口服务,包含了地图、定位、地址解析、逆地址解析、地点搜索、周边搜索、周边推荐、路线规划八种海外服务能力。开发者一次接入即可享受海内外地图无缝切换的极致体验,做到“一次接入、通达全球”。
 
  路线规划插件优化升级
 
  路线规划插件近期迭代了导航、实时公交、主题色等多项能力。
 
  导航: 如果说路线规划是为了“看路线”,那么导航就是为了“用路线”。新增的导航能力完善了路线规划只能看不能用的尴尬地位,打通了输入目的地—>选择最优路线—>跳转导航的常规驾车流程,用户点击导航可以拉起地图App,实现小程序与地图App的无缝链接。
 
  实时公交: 目前在腾讯位置服务对外开放的产品中,只有路线规划插件提供了实时公交能力。开发者可以帮助用户了解最近一辆公交到站时间和所剩站数。实时公交提升了插件在公共出行领域的服务能力,让用户不再“等公交”。
 
  主题色: 开发者可以通过设置主题色的方式,整体更改插件中的字体、线条、按钮、色块等颜色。更改后的插件风格能够完美融入开发者的小程序中,使其整体风格保持一致,再也不会因为插件颜色的突兀而降低用户体验感受。
 
  个性化底图支持动态切换
 
  个性化底图切换能力上线,可以实现在小程序内使用同一subkey,通过 layer-style(地图官网设置的样式 style 编号)属性选择不同的底图风格,并可以动态切换样式。比如白天使用浅色系地图,夜晚使用微信深色地图。以下面的Demo为例,可以实现四种style风格动态切换,style1-出行、style2-微信深色、style3-澹月、style4-玉露。
 
  示例中心小程序 - 小程序地图开发的最佳助手
 
  为了帮助小程序开发者更好的了解并且使用这些地图能力,我们专门开发了一个示例中心小程序,它有两大作用:
 
  展示地图能力:针对小程序下所有地图相关能力分门别类,梳理出目录架构,逐个进行详细解释;同时每个能力都配有demo示例,让开发者能够体验实际效果,加深理解。
 
  降低开发成本:针对每个demo示例,我们还提供了高质量的源代码,开发者点击首页的“查看源代码”即可跳转至GitHub。其中的文档目录是按照示例中心的结构展示,方便直接拷贝代码在本地进行调试,让开发者实现零成本开发。

第三十八届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:zhangwenwen

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。