Android Cordova iOS不从地理链接打开地图
我正在使用Cordova和Ionic开发混合应用程序。首先,我为Android开发。我的应用程序包含Android Cordova iOS不从地理链接打开地图,android,ios,cordova,google-maps,ionic-framework,Android,Ios,Cordova,Google Maps,Ionic Framework,我正在使用Cordova和Ionic开发混合应用程序。首先,我为Android开发。我的应用程序包含geo:和tel:链接。在安卓系统上,一切正常geo:link将打开谷歌地图或Waze,tel:link将打开电话 但是,在iOS上,tel:链接仍然有效,但是geo:链接不起作用。当我点击它时,什么也没发生。当我查看Xcode时,它会说:加载网页失败,出现错误:无法显示URL 如何修复它?在iOS上,您需要使用“地图”: 在Android上,您可以使用“geo:”或“” 在这两种情况下,您可能都
geo:
和tel:
链接。在安卓系统上,一切正常geo:
link将打开谷歌地图或Waze,tel:
link将打开电话
但是,在iOS上,tel:
链接仍然有效,但是geo:
链接不起作用。当我点击它时,什么也没发生。当我查看Xcode时,它会说:加载网页失败,出现错误:无法显示URL
如何修复它?在iOS上,您需要使用“地图”:
在Android上,您可以使用“geo:”或“”
在这两种情况下,您可能都需要加脉冲
然后添加带有target=“\u system”
的地图链接,这会向inappbrowser
插件发送信号,将其从外部打开
<a href="{{ url }}" target="_system">map link</a>
我编写了一种方法,可以替换不同于android的设备上的所有geo:href。在安卓系统中,geo:tag比直接打开谷歌地图运行得更好,因为它可以打开Waze、Uber、谷歌地图和其他地图应用程序 使用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='
)
);
}
});
}
ios上没有地理url方案,谷歌地图网站url应打开谷歌地图应用程序,苹果地图网站url或maps://方案应打开苹果地图app@jcesarmobile谢谢你的评论。所以,我只需要将
geo:
替换为maps://
,它就可以工作了?@jcesarmobile尝试了maps:
,也不起作用。。。。为了更好地理解,你能举一些例子吗?谢谢。你用的是哪种cordova版本?我刚刚尝试了一个全新的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='
)
);
}
});
}