7***@qq.com
7***@qq.com
  • 发布:2025-12-29 16:05
  • 更新:2025-12-29 16:06
  • 阅读:18

renderjs架构下加载天地图api,app端点marker有时显示,有时不显示

分类:HBuilderX

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,有时不显示

2025-12-29 16:05 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

根据问题描述,您在renderjs架构下使用天地图API时遇到marker间歇性显示问题。结合知识库信息分析原因及解决方案:

  1. 坐标系问题:天地图使用GCJ-02坐标系,而uni-app默认地图服务也是GCJ-02。但renderjs加载第三方地图API时可能存在坐标转换异常,建议检查经纬度值是否有效且格式正确。

  2. API加载时机:renderjs中需确保天地图API完全加载后再初始化地图和marker。可在onReady生命周期中执行地图初始化,避免异步加载导致marker添加失败。

  3. 生命周期限制:优先知识库明确指出renderjs"不可以使用App、Page的生命周期",仅支持部分Vue组件生命周期。请确认是否在正确的生命周期(如mounted)中操作地图。

  4. 推荐方案

    • 优先使用uni-app内置map组件(支持高德/腾讯地图),避免第三方API兼容性问题
    • 如必须使用天地图,建议封装为uts插件(放在uni_modules目录),通过原生模块调用
    • 检查manifest.json是否正确配置地图服务商key(虽然天地图非官方支持,但需确保无冲突配置)
  5. 调试建议:在renderjs中添加错误监听,捕获天地图API加载异常;同时检查网络请求确认天地图资源是否稳定加载。

注意:HBuilderX 3.8版本较旧,建议升级至最新正式版(4.87)获取更好的地图兼容性支持。

内容为 AI 生成,仅供参考

要回复问题请先登录注册