Cordova iOS无法从地理链接打开地图

时间:2015-12-23 01:23:53

标签: android ios cordova google-maps ionic-framework

我正在使用Cordova& amp;离子。起初我为Android开发。我的应用包含geo:tel:链接。在Android上,一切正常。 geo:链接会打开Goog​​le Map或Waze,tel:链接会打开电话。

但是,在iOS上tel:链接仍然有效,但geo:链接不起作用。当我点击它时,什么也没发生。当我看到Xcode时,它会说:Failed to load webpage with error: The URL can’t be shown

我该如何解决?

2 个答案:

答案 0 :(得分:1)

在iOS上,您需要使用“maps:”

在Android上,您可以使用“geo:”或“http://maps.google.com/maps

在这两种情况下,您可能都需要inappbrowser追求

var url = "http://maps.google.com/maps"; 
if (device.platform.toLowerCase() == "ios") {   
  url = "maps:" 
} 
url + "?q=1.5149818510303,110.35436153412"; 

然后使用target="_system"添加地图链接,此信号发送到inappbrowser插件以在外部打开。

<a href="{{ url }}" target="_system">map link</a>

答案 1 :(得分:1)

我已经编写了一个方法来替换与android不同的设备上的所有geo:href。在Android中,geo:tag比直接打开谷歌地图更好,因为它可以选择打开Waze,Uber,Google Maps和其他地图应用程序。

使用cordova设备插件运行:

if(device.platform.toLowerCase != 'android'){
    $('a').each(function(i,el){
        if($(el).attr('href').indexOf("geo:") == 0){
            $(el).attr(
                'href',
                $(el).attr('href').replace(
                    'geo:',
                    'http://maps.google.com/maps?q='
                )
            );
        }
    });
}