收藏
回答

wx.openLocation 页面在ios大家打开 高德、百度、苹果地图都无法正确导航

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.openLocation 微信iOS客户端 8.0.49 2.0.0

同一个地点的坐标,用ios端测试地点无法导航,用安卓的则正常导航

ios如图

安卓如图

回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员--阳光
    社区技术运营专员--阳光
    05-16

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    05-16
    有用
    回复 6
    • 赖柏
      赖柏
      05-29
      wx.openLocation({
            latitude:39.961488,
            longitude:116.786174,
            name: '东方夏威夷',
            address: '武汉市蔡甸区大沌特路1号', 
            scale: 14, 
            infoUrl: ''; 
           });
      05-29
      回复
    • 赖柏
      赖柏
      05-29
      使用上述代码,跳转第三方地图软件后就出现上述情况,ios端
      05-29
      回复
    • 社区技术运营专员--阳光
      社区技术运营专员--阳光
      05-31回复赖柏
      你是指ios导航路线无法规划吗?测试正常
      05-31
      回复
    • 赖柏
      赖柏
      06-14回复社区技术运营专员--阳光
      如果用我上述的代码导航出来,就不应该是导航到北京,这个坐标是武汉市的啊
      06-14
      回复
    • 南城以南
      南城以南
      06-14回复赖柏
      06-14
      回复
    查看更多(1)
  • Seven
    Seven
    09-29

    latitude:43.766017913818374, longitude: 87.6289749145508, 小数点后超过6位的部分删掉就行

    latitude:43.766017, longitude: 87.628974, 这样就ok了

    我给提供代码

      truncateDecimal(num, decimalPlaces) {
        let numStr = num.toString();
        let decimalPos = numStr.indexOf('.');
        if (decimalPos === -1) {
          return num;
        }
        let integerPart = numStr.substring(0, decimalPos);
        let decimalPart = numStr.substring(decimalPos + 1, decimalPos + 1 + decimalPlaces);
        while (decimalPart.length < decimalPlaces) {
          decimalPart += '0';
        }
        return parseFloat(integerPart + '.' + decimalPart);
      }
    // 使用示例  
    
    wx.openLocation({
          latitude: this.truncateDecimal(43.7660179138183746),
          longitude: this.truncateDecimal(87.62897491455086),
          name: '边疆宾馆',
          address: '天山区延安路662号', 
          scale: 16, 
         });
    
    09-29
    有用
    回复
登录 后发表内容