javascript - 从 Angular JS 应用程序打开谷歌地图应用程序

标签 javascript android ios angularjs cordova

我正在使用 cordova 构建一个 JS 应用程序。我想在用户点击链接时打开谷歌地图应用程序。

代码-

  $window.location.href =  'comgooglemaps://maps.google.com/maps?saddr=My+Location&daddr=' +  destinationAddress

目的地址是该地点的地址。

现在上面的代码在 ios 上工作正常,但谷歌地图在 android 上打不开。 来自 documentation看起来 comgooglemaps 是 iOS 特定协议(protocol)

我也尝试过此 Android - launch google map via web url 中提到的地理 URL如下

<a href="geo:53,-9?saddr=(53,-9)&daddr=(42,4)">Click here for route maps</a>

它打开谷歌地图应用程序但不显示路线。

有什么可以同时在安卓和iOS上运行的吗

最佳答案

我通过以下 javascript 代码实现了这一点,在对我们的项目进行了大量研究之后,我们发现只需调用 maps.google.com 就可以很好地工作:

1) 安卓
2) iOS
3) 网络浏览器...:)

$scope.showMap = function () {
           var link = ""+"http://maps.google.com/maps?saddr="+$scope.slat+","+$scope.slon+" &daddr="+$scope.dlat+","+$scope.dlon;
            // $location.path(link);
            window.location = link;
        }

地点:
$scope.slat = 源纬度坐标
$scope.slon = 源经度坐标
$scope.dlat = 目的地纬度坐标
$scope.dlon = 目的地经度坐标

代码已经过测试并且可以在以下环境中正常工作:
iPhone 4、
iPad、
iPad 3、
Moto E、
索尼爱立信 Xperia、
Moto G

特征
最好的一点是,如果安装了谷歌地图应用程序,设备默认情况下会选择它,否则它将在谷歌浏览器中打开,默认情况下所有安卓设备都有。

关于javascript - 从 Angular JS 应用程序打开谷歌地图应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25958509/

相关文章:

ios - iOS:随机模式并非在每个循环中都有效

javascript - For...of 循环调用字符串中的变量名称

ios - objective-c ,聊天消息应用程序和识别时区

javascript - react 错误 : TypeError: Cannot read property 'toLowerCase' of null

android - Activity 未在 list 中注册 Lint 警告

java - 从服务到 Activity 的线程获取处理程序

android - 每次有新版本的 Google Play 服务时更新应用程序

ios - 如何等到云套件数据在iOS13中快速与核心数据同步

javascript - 页面位于另一个页面内

javascript - jquery.qrcode.js 渲染为带标志的 img