2013-10-12 141 views
2

我有一個簡單的HTML5 + Javascript + Phonegap應用程序,顯示商店的某些聯繫人信息,如其位置。我的目的是通過鏈接打開目標平臺的原生地圖應用程序,以便從當前位置爲轉彎的導航添加星標。我的代碼如下所示:從Phonegap應用程序在iOS上打開本地地圖應用程序

if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) { 
      var addMap = 'maps:q='+ global_indirizzo + ',' + global_comune + ',' + global_provincia; 
      window.open(addMap , '_system'); 
     } else { 
      var addMap = 'geo:0,0?q='+ global_indirizzo + ',' + global_comune + ',' + global_provincia; 
      window.open(addMap , '_system'); 
     } 

這適用於Android,但不適用於iPhone。任何建議?我是否缺少任何配置步驟?

回答

1

這是Maps url schemes

你只需要一個<a>標籤與URL

<a href="http://maps.apple.com/?q=cupertino" target="_system">Cupertino</a>

+0

在點擊鏈接時仍然收到「Error loading page」消息... –

+1

嘗試使用target =「_ system」 – jcesarmobile

+0

我只是忘記將網址列入白名單。我有另一個小問題...當我點擊鏈接,在我的測試iphone上,它會打開谷歌地圖的網絡應用程序,而不是蘋果的本地地圖應用程序。 –

0

此鏈接(插件)是有很大的幫助。它打開谷歌地圖應用程序,如果用戶已經預裝在手機中或回落到蘋果地圖。在openMaps函數中使用launch navigator.navigate。

https://github.com/dpa99c/phonegap-launch-navigator#example-usage

爲e.g,我做到了,這樣在我的PhoneGap應用程序。

$ scope.openMap =函數(){

  launchnavigator.navigate(
            [$scope.lt, $scope.ln], 
            [$scope.clublt, $scope.clubln], 

            function(){ 
           // alert("Plugin success"); 
            }, 
            function(error){ 
            alert("Plugin error: "+ error); 
            }, 
      { 
      preferGoogleMaps: true, 
      enableDebug: true, 
      disableAutoGeolocation: true 
      }); } 

這就像一個魅力。

相關問題