我正在使用Cordova& amp;离子。起初我为Android开发。我的应用包含geo:
和tel:
链接。在Android上,一切正常。 geo:
链接会打开Google Map或Waze,tel:
链接会打开电话。
但是,在iOS上tel:
链接仍然有效,但geo:
链接不起作用。当我点击它时,什么也没发生。当我看到Xcode时,它会说:Failed to load webpage with error: The URL can’t be shown
我该如何解决?
答案 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='
)
);
}
});
}