【问题标题】:Opening google maps app from Angular JS app从 Angular JS 应用程序打开谷歌地图应用程序
【发布时间】:2014-11-15 12:00:04
【问题描述】:

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

代码-

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

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

现在上面的代码在 ios 上运行良好,但谷歌地图在 android 上打不开。 从 documentation 看来,comgooglemaps 是 iOS 特定协议

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

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

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

有什么东西可以在安卓和iOS上运行

【问题讨论】:

  • 有没有人遇到过同样的问题?
  • 是的.. 经历了一段艰难时期,但成功了... :) 检查答案。

标签: javascript android ios angularjs cordova


【解决方案1】:

我通过以下 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

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

【讨论】:

  • 嘿,这个代码 sn-p 可以在我的笔记本电脑浏览器上运行,但不能在我的手机 (Moto G2) 上运行。我的笔记本电脑浏览器要求我提供位置许可,而我的手机没有。我必须在那里添加什么才能使其正常工作?
猜你喜欢
  • 1970-01-01
  • 2017-07-25
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 2013-03-22
  • 1970-01-01
相关资源
最近更新 更多