Angularjs:链接到手机的地图应用程序

时间:2014-04-25 16:46:02

标签: ios angularjs android-intent

我有一个网络应用程序,希望将步行/行车路线卸载到手机的原生应用程序中。这将分别是适用于Android和iOS的Google Maps应用程序和maps.apple.com。我可以从用户代理处检测到手机,但我无法确定如何配置链接。

<li><a href ng-click="geoHandler()"> Directions</a></li>

这就是我在相关控制器中所拥有的。

$scope.geoHandler = function() {
    // user agent sniffing here
    var path = "geo:0,0?q="+$scope.resto.lat+","+$scope.resto.lng+"("+$scope.resto.rname+")";
    // var path = http://maps.apple.com/?ll=$scope.resto.lat+","+$scope.resto.lng
    return $location.path(path);
}

当我将地理链接作为html中的href时,手机做了正确的事情,但现在这段代码只是带我到SPA的主页。

所以,我的问题是:

  • 点击正确的方式(我不能使用ng-href的功能);

  • 如何通过$ location启动意图?

1 个答案:

答案 0 :(得分:0)

好的,我采用了另一种更简单的方法。不确定它是否最优雅,但它确实有效。

查看

<a ng-href="{{geoPath}}">Directions</a>

控制器

if ( /iPhone/.test(navigator.userAgent))
    path = "http://maps.apple.com/?ll="+$scope.resto.lat+","+$scope.resto.lng";
else path = "geo:0,0?q="+$scope.resto.lat+","+$scope.resto.lng+"("+$scope.resto.rname+")";
$scope.geoPath = path;