2017-09-01 104 views
0

我到處搜索過,任何人似乎都有同樣的問題。 我的需求是導航到外部原生地圖(谷歌地圖或蘋果地圖)。 要做到這一點我使用InAppBrowser用下面的代碼:Ionic 3 - 如何在android中打開外部原生地圖?

if(this.platform.is('ios')){ 
    const browser = this.iab.create('maps://?q=' + destination, '_system', 'location=yes'); 
} 
else{ 
    const browser = this.iab.create('geo:0,0?q=' + destination, '_system');   
} 

...它僅適用於iOS。 隨着離子v1我一直使用這種方式,它一直在兩個平臺上工作。

現在,在android上,執行命令時,它有效地打開BUT,當我嘗試返回我的應用程序時,我看到一個白色屏幕顯示「找不到/未定義」或錯誤頁面,如下所示。

ErrorPage

對我來說好像InAppBrowser嘗試做一個導航地理,即離子沒有找到。

奇怪的是,用「電話」「郵件」和其他命令它沒有問題。

我無法理解問題的有效位置。

我已經嘗試過LaunchNavigator,結果與InAppBrowser相同。

我留下了一些關於我使用的版本的信息。

cordova-plugin-inappbrowser 1.7.1 "InAppBrowser" 
@ionic-native/[email protected]^3.14.0 

cli packages: 

    @ionic/cli-utils : 1.9.2 
    ionic (Ionic CLI) : 3.9.2 

global packages: 

    Cordova CLI : 6.5.0 

local packages: 

    @ionic/app-scripts : 1.3.12 
    Cordova Platforms : android 6.1.2 ios 4.3.1 
    Ionic Framework : ionic-angular 3.6.0 

System: 

    ios-deploy : 1.9.0 
    ios-sim : 5.0.11 
    Node  : v6.10.3 
    npm  : 3.10.10 
    OS   : macOS Sierra 
    Xcode  : Xcode 8.3.3 Build version 8E3004b 

預先感謝您的幫助!

回答

0

使用此,https://ionicframework.com/docs/native/launch-navigator/

lunchNavigator(lati: any, lngti: any) { 
     let options: LaunchNavigatorOptions = { 
      // app: LaunchNavigator.APPS.USER_SELECT 

     }; 

     this.launchNavigator.navigate([parseFloat(lati), parseFloat(lngti)], options) 
     .then(
      success => console.log('Launched navigator'), 
      error => console.log('Error launching navigator', error) 
     ); 
    } 
+0

謝謝你的回覆,但就像我之前說過的,我已經試過了。可以肯定的是,我使用了粘貼的代碼,但當我返回到我的應用程序時,出現白屏,並顯示消息「無法獲取/未定義」。 – Centos

0

爲什麼有人有我的問題,是因爲我已經做在HTML一個巨大的錯誤。

我在同一個按鈕上調用兩個不同的點擊事件的函數。一直到現在我都沒注意到的錯誤。

好消息是我解決了我的問題。

相關問題