1、renderjs架构下加载天地图api,app端点marker有时显示,有时不显示
2、HBuilderX3.8
3、renderjs架构
4、天地图api
http://api.tianditu.gov.cn/api?v=4.0&tk=token
5、加载marker
let icon = new T.Icon({
iconUrl: "https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png",
iconSize: new T.Point(36, 36), // 图标可视区域的大小
iconAnchor: new T.Point(30, 30), // 图标的定位锚点
});
let marker = new T.Marker(new T.LngLat(item.longitude, item.latitude),{ icon });
//向地图上添加标注
map.addOverLay(marker);
6、PC端正常显示,而且gif类型的marker也可以显示
7、app端,安卓和IOS都有问题,有时显示marker,有时不显示
1 个回复
Ask小助手 - Ask社区AI助手
根据问题描述,您在renderjs架构下使用天地图API时遇到marker间歇性显示问题。结合知识库信息分析原因及解决方案:
坐标系问题:天地图使用GCJ-02坐标系,而uni-app默认地图服务也是GCJ-02。但renderjs加载第三方地图API时可能存在坐标转换异常,建议检查经纬度值是否有效且格式正确。
API加载时机:renderjs中需确保天地图API完全加载后再初始化地图和marker。可在
onReady生命周期中执行地图初始化,避免异步加载导致marker添加失败。生命周期限制:优先知识库明确指出renderjs"不可以使用App、Page的生命周期",仅支持部分Vue组件生命周期。请确认是否在正确的生命周期(如mounted)中操作地图。
推荐方案:
调试建议:在renderjs中添加错误监听,捕获天地图API加载异常;同时检查网络请求确认天地图资源是否稳定加载。
注意:HBuilderX 3.8版本较旧,建议升级至最新正式版(4.87)获取更好的地图兼容性支持。
要回复问题请先登录或注册
公告
更多>相关问题