先放上微信小程序中地图组件的官方文档,推荐先查看官方文档,基础部分只会稍带提一下,主要讲在开发《地图》这款微信小程序时遇到的一些问题,以及解决方案。
下面会根据开发《地图》期间遇到的地图组件问题进行讲述,《地图》把微信提供的地图二次开发能力基本上都使用了,可以扫描下方二维码进行体验
地图提供的外卖地图、公园小区导航路线,并且能够自己手绘地图路线并分享。
地图
基础用法
map组件与view等常见组件类似,只是多了较多的参数,具体参数的含义可以参考官方文档。需要说明的是map组件的宽高是由组件样式直接设置的,对于在外面套用一层view,通过控制外层view的宽高,来控制map组件的宽高是不可行。
如果是平常的展示地图,只需要关注参数列表中的必填项即可。对于进行更复杂的开发则需要关注controls、markers、polyline以及支持的事件。
初始定位以及定位时机
地图组件使用时longitude、latitude两个属性是必填项,分别表示中心点经度、中心点纬度。这是定位需要关注的属性。
由于小程序定位是异步执行的,可能在小程序屏已经渲染出来了,定位还未成功,推荐为longitude、latitude两个属性设置默认值,默认值可以设置成你更关注的区域内的坐标。
定位时机可以选在onLoad时:
定位失败的原因,一般都是用户拒绝定位授权,在fail的回调函数中应该做的就是:
提醒用户打开授权->跳转设置页->检查是否开启授权->为true时重新调用定位(推荐将定位流程封装一下)。
若用户仍然拒绝授权,只是就别再走上述流程了(死循环),体验比停止服务还差。