繁体   English   中英

Ionic - Apple Maps App中的开放式导航方向

[英]Ionic - Open Navigation Directions in Apple Maps App

我有一个变量,目的地,我需要用引脚打开原生Apple Maps才能到达目的地。 我已经尝试过这里解答的解决方案: Phonegap - 在Apple Maps App中打开导航方向,但是没有用。 如果我在测试时通过浏览器到达“maps://xx.xxxx,yy.yyyy”,则会打开“unsafe:/ maps://xx.xxxx,yy.yyyy”。 它没有固定地图,它从未指向我选择的目的地。 我该如何解决这个问题?

你可以尝试两件事

  1. 将此行添加到config.xml

    <access origin="maps:*" launch-external="yes" />

  2. 使用带有_system选项的inAppBrowser插件:

    var ref = window.open('maps://?q=xx.xxxx,yy.yyy', '_system');

但是你应该查看地图应用的网址方案https://developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/MapLinks/MapLinks.html#//apple_ref/doc/uid/TP40007899-CH5-SW1

如果你想要方向,你应该使用daddr= param

我使用LaunchNavigator cordova插件轻松实现所需的结果。 当与Geo-Location cordova插件配合使用时,这在iOS和Windows手机上效果最佳。

要添加LaunchNavigator和Geo-Location Cordova插件:打开终端窗口,导航到项目目录的根目录并运行以下两个命令。

cordova plugin add cordova-plugin-geolocation
cordova plugin add uk.co.workingedge.phonegap.plugin.launchnavigator 

之后,我通过将以下代码添加到我的项目中来实现映射到给定纬度/经度的功能。

var latitude = 39.7392, longitude = -104.9903;
launchnavigator.navigate([latitude, longitude]);

或者我通过将以下代码添加到我的项目来实现映射到地址字符串的功能。

var destination = "Denver, Colorado";
launchnavigator.navigate(destination);

我发现这是向移动应用程序最终用户提供“点击指示”功能的最简单方法。 对于iOS,Android和Windows Phone应用程序,这适用于我(代码没有变化)。

如果您有地址字符串,例如“24 Prince Street,New York,NY”:

$scope.launchDirections = function(address) {
   window.location.href = "maps://maps.apple.com/?daddr=" + address;
}

如果你有lat-longs,例如lat:-33.8880165,long:151.2310152:

$scope.launchDirections = function(lat, long) {
   window.location.href = "maps://maps.apple.com/?q=" + lat + "," + long;
}

然后在你的html中调用它:

<div ng-click="launchDirections(address)">Show Directions</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM