uni-app实现点击地址打开谷歌地图路线导航功能

发布于 1周前 作者 bupafengyu 来自 Uni-App

uni-app实现点击地址打开谷歌地图路线导航功能

问题描述

app需要在国外上线,没有高德地图等国内接口,需要对接谷歌地图。

需要实现类似美团上的,点击地址跳转到谷歌地图并且指明路线并导航。

如果有国外类似案例,可提供其他解决思路的也请联系。

价格可以谈,可长期合作

10 回复

第三方sdk原生插件开发,QQ:16792999


谷歌地图地图 插件开发 QQ: 1196097915

我开发过此类 无需谷歌地图插件

怎么解决的呢

可以做,联系我QQ985062246

可以做 QQ:1196097915

谢谢大家,已经解决了,再有需求我会再发帖子的 谢谢各位

麻烦问一下,怎么解决的啊

怎么解决的哥,有偿回答

要在uni-app中实现点击地址打开谷歌地图路线导航功能,你可以利用uni-app提供的plus.runtime.openURL方法,结合谷歌地图的URL Scheme来实现。以下是一个基本的实现步骤和代码示例:

步骤

  1. 获取用户点击的地址:假设你已经有一个地址变量address
  2. 构造谷歌地图的URL:根据地址构造谷歌地图的导航URL。
  3. 使用plus.runtime.openURL方法打开URL:调用该方法在应用中打开谷歌地图进行导航。

代码示例

// 假设你有一个地址变量,这里以北京市为例
let address = "北京市";

// 构造谷歌地图的URL
// 注意:这里使用的是谷歌地图的Web URL Scheme,适用于在移动设备上打开谷歌地图应用
// 你可以在URL中添加起点和终点,例如从当前位置导航到指定地址
let currentLatitude = '你的当前纬度'; // 需要根据实际情况获取
let currentLongitude = '你的当前经度'; // 需要根据实际情况获取
let googleMapsUrl = `https://www.google.com/maps/dir/?api=1&destination=${encodeURIComponent(address)}&origin=${currentLatitude},${currentLongitude}`;

// 检查是否在支持plus API的环境中(即5+ App环境)
if (window.plus) {
    // 使用plus.runtime.openURL方法打开谷歌地图URL
    plus.runtime.openURL(googleMapsUrl, function(e) {
        console.log('打开URL失败:', e);
    });
} else {
    // 如果不是在5+ App环境中,可能需要使用其他方式,比如提示用户复制链接到浏览器中打开
    uni.showToast({
        title: '请在支持的环境中打开谷歌地图',
        icon: 'none'
    });
    // 可选:复制链接到剪贴板(需要额外实现)
    // uni.setClipboardData({
    //     data: googleMapsUrl,
    //     success: function() {
    //         uni.showToast({
    //             title: '链接已复制',
    //             icon: 'success'
    //         });
    //     }
    // });
}

// 注意:获取当前经纬度的功能需要依赖uni-app的地图或定位API,这里仅作示例
// 获取当前经纬度的示例代码:
uni.getLocation({
    type: 'gcj02', // 返回可以用于uni.openLocation的经纬度
    success: function(res) {
        currentLatitude = res.latitude;
        currentLongitude = res.longitude;
        // 重新构造googleMapsUrl并调用plus.runtime.openURL
    }
});

注意事项

  1. 环境检查:确保你的应用运行在支持plus API的环境中,通常是5+ App环境。
  2. 权限问题:在调用定位功能时,需要确保你的应用已经获取了相应的定位权限。
  3. URL编码:确保地址经过URL编码,以避免特殊字符导致URL解析错误。
  4. 错误处理:在调用plus.runtime.openURL时,添加回调函数以处理打开URL失败的情况。
回到顶部