底层引擎
<map>
组件在不同平台的底层引擎是不同的:
微信小程序为腾讯地图;
H5为腾讯地图或谷歌地图;
App、支付宝小程序为高德地图;
百度小程序、快应用为百度地图。
app-vue也可以使用百度地图,在manifest中配置,打包后生效,但app-nvue只支持高德地图。
另外选择地图、查看地图位置的API也仅支持高德地图。App端如无特殊必要,建议使用高德地图。
层级问题
小程序和app-vue中,
<map>
组件是由引擎创建的原生组件,它的层级是最高的,不能通过 z-index 控制层级。
在<map>
上绘制内容,可使用组件自带的marker、controls等属性,也可以使用<cover-view>
组件。
App端还可以使用plus.nativeObj.view
或 subNVue 绘制原生内容,参考:https://uniapp.dcloud.io/component/native-component。
另外App端nvue文件不存在层级问题。
从微信基础库2.8.3开始,支持map组件的同层渲染,不再有层级问题。ps:这句说的是vue还是nvue?
App端推荐使用nvue
- vue有层级问题:小程序和app-vue中,
- map 组件默认的api是参考微信小程序的,如需要使用plus.map,可以通过 g e t A p p M a p 获 取 原 生 地 图 对 象 。 n v u e 无 法 使 用 ‘ getAppMap获取原生地图对象。nvue无法使用` getAppM