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

时间:2014-09-21 11:02:29

标签: 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特定协议

我还尝试了这个Android - launch google map via web url中提到的地理网址,如下所示

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

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

还有什么可以在Android和iOS上运行

1 个答案:

答案 0 :(得分:2)

我通过以下javascript代码实现了这一点,经过对我们项目的大量研究后,我们发现只需调用maps.google.com就可以很好地适用于所有人:

1)Android
2)iOS
3)Web浏览器...... :)

$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,
Sony Ericsson Xperia,
Moto G

<强>功能
关于这一点最好的事情是,默认情况下设备会选择谷歌地图应用程序(如果已安装),否则它将在谷歌浏览器中打开,默认情况下会出现在所有Android设备中。