我有一个网络应用程序,希望将步行/行车路线卸载到手机的原生应用程序中。这将分别是适用于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启动意图?
答案 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;