- 当前 Bug 的表现(可附上截图)
- 预期表现(如图)
官方文档:https://mp.weixin.qq.com/wxopen/plugindevdoc?appid=wx5bc2ac602a747594&token=&lang=zh_CN#-
特殊说明:
注意:数据要在data中初始化,不要再onLoad中直接setData,因为onLoad中直接setData,properties的routeInfo的observer: function (newVal, oldVal),newVal接收不到参数,导致参数报错,之后可以通过其bind他事件setData更新routeInfo达到变更起终点参数的效果。
官方案例:
let plugin = requirePlugin("myPlugin")
let routeInfo = {
startLat: 39.90469, //起点纬度 选填
startLng: 116.40717, //起点经度 选填
startName: "我的位置", // 起点名称 选填
endLat: 39.94055, // 终点纬度必传
endLng :116.43207, //终点经度 必传
endName:"来福士购物中心", //终点名称 必传
mode:“car” //算路方式 选填
}
Page({
data: {
routeInfo: routeInfo
}
})
这是官方的案例,需要写在外面,问题是这样,页面只会执行一次。
这边的数据是需要硬编码写死嘛??
我所需要的功能是动态的,导航的经纬度信息是根据用户所在位置的,按照官方这种描述,是永远无法实现了嘛?
问题已经解决,采用 wx:if 语句,在数据没有赋值的时候地图不加载,数据一旦赋值,再显示地图。
这样的话,可以在onload里面控制地图数据初始化。
<
block
wx:if="{{routeInfo.endLat>0}}">
<
map-route
route-info
=
"{{routeInfo}}"
></
map-route
>
</
block
>
onLoad:
function
(options) {
let routeInfo = 获取数据
that.setData({
routeInfo: {
startLat:
''
,
//起点经度 选填
startLng:
''
,
//起点纬度 选填
startName:
''
,
// 起点名称 选填
endLat: routeInfo.endLat,
// 终点经度必传
endLng: routeInfo.endLng,
//终点纬度 必传
endName:
'测试'
,
//终点名称 必传
mode:
"car"
//算路方式 选填
}
})
插件是只能使用不能修改的
是这个功能没办法实现嘛?
我看到腾讯地图小程序是有类似功能的,但是他没有说怎么做到的,不知道是不是内部API
因为你用插件只能根据人家插件的要求传参数就可以了,自己有特殊需求就不要用插件,自己根据组件和API自己开发。
地图导航功能自己开发?