2014-10-22 139 views
2

使用PhoneGap构建应用程序。在这个应用程序我想创建一个地理链接。 PhoneGap确实打开了地图上的正确位置,但地图不是Google地图或Apple地图。相反,它会打开一张奇怪的外观地图。PhoneGap地理位置:href到Google地图

我使用AngularJS作为一个框架

现在,我使用这个:

<a href="geo:53.33196,6.92583">View on Google Maps</a> 

有没有一种方式,应用程序将开辟从Play商店下载的谷歌地图?

谢谢!

+0

所用的设备要测试? Android还是Apple? – AAhad 2014-10-22 07:25:37

+0

我首先在Android上进行测试 – 2014-10-22 07:27:24

+0

您是否在设备上安装了Google Maps App? – AAhad 2014-10-22 07:28:29

回答

5

尝试以下添加到config.xml中

<access origin="geo:*" launch-external="yes"/> 

而且试试这个:

  1. 创建JS自定义函数,并用它来打开默认的地图应用程序在设备上

    var app = { 
        initialize: function() { 
        this.bindEvents(); 
    },   
    bindEvents: function() { 
        document.addEventListener('deviceready', this.onDeviceReady, false); 
    },   
    onDeviceReady: function() { 
        app.receivedEvent('deviceready'); 
    }, 
    openNativeAppWindow: function(data) { 
        window.open(data, '_system'); 
    } 
    

    };

  2. 您要调用的地方地图链接然后将数据传递给您的自定义网址,并让它打开本地浏览器窗口,这反过来将推动本地地图应用程序来处理特殊的URL。

几个例子:

<input type="button" onClick="app.openNativeAppWindow('http://google.com')" value="Open Google"/> 
      <br><br><a onClick="app.openNativeAppWindow('geo://0,0?q=dallas')" data-rel="external">google maps</a> 
      <br><br><a onClick="app.openNativeAppWindow('geo:0,0?q=Bacau')">Geolocation Test</a> 
      <br><br><a onClick="app.openNativeAppWindow('geo:0,0?q=34.99,-106.61(Treasure)')">longitude & latitude with a string label</a> 
      <br><br><a onClick="app.openNativeAppWindow('geo:0,0?q=1600+Amphitheatre+Parkway%2C+CA')">street address Test</a> 
+0

试试这个,让我知道 – AAhad 2014-10-22 07:35:04

+0

它做到了!我刚刚编辑了https://maps.google.com/的链接,因此我可以更好地控制地图 – 2014-10-22 07:42:01