开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
凯发app官方网站的技术支持 & 案例 faq 
支付宝小程序
案例分析
sdk & demo下载
常见问题
常用工具
iot小程序
运维保障
小程序 > 支付宝小程序 > 常见问题 > map常见问题
贡献者
收藏
我的文档
设置
前提条件
支持高德地图 style 与火星坐标系。
支持通过同层渲染实现 cover-view 覆盖 map 组件。同层渲染支持范围 10.1.35 及其以上版本 android 的小程序,10.1.50 及其以上版本 ios 的小程序。
不支持在 scroll-view 中使用 map 组件。
不支持使用 css 动画,css 动画对 map 组件无效。
不支持小程序获取当前地图的经纬度。
缩小或者放大了地图比例尺之后,若再次设置 data 经纬度到一个地点,请在 onregionchange 函数中重新设置 data 的 scale 值,否则会出现拖动地图区域后,重新加载导致地图比例尺又变回缩放前的大小,具体请参照示例代码 regionchange 函数部分。
基础库 1.18.5 开始支持 optimize 属性,开启 optimize 后,开发者不需要再监听 onregionchange 来更新 scale 属性值以保证缩放比例不变。此特性在客户端 10.1.68 以上支持,可通过 my.caniuse(map.optimize)进行检测。 
常见问题
地图组件铺满全屏
问题场景:用系统信息算出屏幕高度后赋值给地图组件和一个底部的控制组件,会有一个间隙。
问题原因:css的样式排版问题,由于地图有时候不会自动铺满这个高度会导致留下一段底边。
凯发app官方网站的解决方案:在外部嵌套一层,并设置 map100% 占据这个高度即可。 
地图中可以使用swiper组件吗
swiper 组件目前不支持在地图中使用。 
小程序里打开地图app
目前无法直接从小程序唤起打开地图app,可以通过 my.openlocation 打开内置地图然后导航打开高德地图app。 
map高级定制渲染不显示
参考。 
取消显示指南针无效
调用 this.mapctx.showsscale({isshowsscale:0}); 取消显示指南针,但无效果。
由于 onload 时 map 在初始化,并未渲染完成,onload 中调用 this.mapctx.showsscale 会导致不生效,建议放在 onready 中调用。 
地图中controls定位在右下
实现地图右下角 controls 定位需要自己进行计算来定位,也是使用 left 和 top。
假设:地图的宽高分别为300:600,controls 的宽高为50:50,那么实现右下就是 position为left:300-50 ,top:600-50。 
如何实现在map上添加一个图标
可以使用 cover-image 来实现 map 之上显示图片的效果,使用 cover-view 在 map 之上显示文字的效果。
小程序是否可以调用高德地图api
小程序可以调用高德地图的方法,但是需要在后台管理里添加请求域名白名单。详情可查看  。
小程序的地图组件默认支持海外地图么
目前不支持。
map组件optimize属性设置true后 ,如何获取scale的值
map 地图组件中 optimize 属性设置 true 后,仍需要使用 onregionchange 方法去获取 scale 值。 
markers
iconpath用绝对路径
地图组件 marker 中 iconpath 项目目录下的图片路径,不能用相对路径只能用 / 开头的绝对路径。
示例:/pages/image/test.jpg。 
marker样式优先级说明
customcallout,callout 和 label 互斥,优先级:label > customcallout > callout。
style 与 icon 互斥,优先级:style > iconappendstr;style > icon 。
map组件里markers不显示的原因
markers 的 iconpath 传入的路径不对,导致图标不显示。
markers 的经纬度不对,值不规范或者超出地图当前的视野范围。
宽高设置过小,或者透明度太高。 
地图上的label标签加了边框线不显示
不支持添加边框,目前只支持参数:
content:必填
color:选填,默认"#000000"
fontsize:选填,默认14
borderradius:选填,默认20
bgcolor:选填,默认"#ffffff"
padding:选填,默认10 
一个marker是否可以设置多个label
一个 marker 只能设置一个 label;需要在地图中显示多个 label,可以设置多个 marker 实现。 
markers更新后地图中心位置改变
更新 markers 的时候使用 setdata 导致地图重新加载,从而导致这个问题。在更新 markers 的时候,同时更新 map 的中心点。 
mapcontext
小程序地图导航
可以使用地图的 mapcontext.showroute(object) 接口实现导航,导航路线需自行实现,默认规划步行路线,只能显示一条。详细参考 my.createmapcontext 文档。 
地图规划步行路线自定纹理不显示
mapcontext.showroute 的 iconpath 需要的图片大小有所要求:
基础库 1.11.0 及以下版本中,3d 地图中该参数优先级高于 routecolor,即纹理会覆盖颜色值。
基础库 1.13.0 及以上版本建议不设置该参数,因为在 3d 地图下提供了默认的纹理图案,图片尺寸建议为 2 的整数幂,如64*64。 
mapctx.showroute收不到回调success
ide 模拟器暂无法获得返回值,需真机预览获得返回值。 
mapcontext.translatemarker(object)方法在ios上不能移动marker
在 ios 上需要添加上 animationend()方法,才能正常执行。
示例代码:
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图