Android Cordova iOS不从地理链接打开地图

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:”或“” 在这两种情况下,您可能都

我正在使用Cordova和Ionic开发混合应用程序。首先,我为Android开发。我的应用程序包含
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='
                )
            );
        }
    });
}