【问题标题】:Open native maps app on iOS from a Phonegap application从 Phonegap 应用程序打开 iOS 上的本地地图应用程序
【发布时间】:2013-10-12 13:07:40
【问题描述】:

我有一个简单的 HTML5 + Javascript + Phonegap 应用程序,它显示了商店的一些联系信息,比如它的位置。我的意图是通过链接打开目标平台的本机地图应用程序,以便从当前位置开始逐步导航。我的代码如下所示:

if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) {
            var addMap = 'maps:q='+ global_indirizzo + ',' + global_comune + ',' + global_provincia;
            window.open(addMap , '_system');
        } else {
            var addMap = 'geo:0,0?q='+ global_indirizzo + ',' + global_comune + ',' + global_provincia;
            window.open(addMap , '_system');
        }

这在 Android 上完美运行,但在 iPhone 上却不行。有什么建议吗?我是否缺少任何配置步骤?

【问题讨论】:

    标签: ios map cordova


    【解决方案1】:

    这是Maps url schemes

    你只需要一个带有 url 的 <a> 标签

    例如<a href="http://maps.apple.com/?q=cupertino" target="_system">Cupertino</a>

    【讨论】:

    • 尝试使用 target="_system"
    • 我只是忘记将网址列入白名单。我还有一个小问题......当我点击链接时,在我的测试 iPhone 上,它会打开谷歌地图网络应用程序而不是苹果的本地地图应用程序。
    • Google 地图应用程序是否设置为您的默认地图应用程序?编辑:Nvm,我想它好像是一个 Android,你可以选择这样的东西。我没有搞砸:)
    • developer.apple.com/library/content/featuredarticles/…此链接有效,您可以更新您的帖子
    【解决方案2】:

    这个链接(插件)很有帮助。如果用户已在手机中预装谷歌地图应用程序或回退到苹果地图,它会打开谷歌地图应用程序。在您的 openMaps 函数中使用启动 navigator.navigate。

    https://github.com/dpa99c/phonegap-launch-navigator#example-usage

    例如,我在 phonegap 应用中就是这样做的。

    $scope.openMap = 函数 () {

               launchnavigator.navigate(
                                        [$scope.lt, $scope.ln],
                                        [$scope.clublt, $scope.clubln],
    
                                        function(){
                                     //   alert("Plugin success");
                                        },
                                        function(error){
                                        alert("Plugin error: "+ error);
                                        },
               {
               preferGoogleMaps: true,
               enableDebug: true,
               disableAutoGeolocation: true
               }); }
    

    这就像一个魅力。

    【讨论】:

    • launchnavigator.navigate 未调用方法,使用 iOS 12.3。任何想法
    猜你喜欢
    • 2012-01-08
    • 2013-03-07
    • 2017-07-25
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 2014-11-15
    • 1970-01-01
    相关资源
    最近更新 更多