2017-09-01 7 views
0

J'ai cherché partout et tout le monde semble avoir le même problème. Mon besoin est de naviguer vers une carte native externe (Google Maps ou Apple Maps). Pour ce faire, je suis en utilisant InAppBrowser avec le code suivant:Ionic 3 - Comment ouvrir une carte native externe dans 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');   
} 

... et il ne fonctionne que sur iOS. Avec ionic-v1, j'ai toujours utilisé cette méthode et cela a toujours fonctionné sur les deux plates-formes. Maintenant, sur android, quand j'exécute la commande, il ouvre effectivement MAIS quand j'essaye de revenir sur mon application je vois un écran blanc avec "Can not find/undefined" ou une page d'erreur comme celle-ci.

ErrorPage

Pour me semble comme InAppBrowser essayer de faire une navigation à geo, que ionique ne trouve pas. La chose étrange est que, avec "tel" "mail" et d'autres commandes, cela fonctionne sans problème.

Je ne peux pas comprendre où le problème est effectivement.

J'ai déjà essayé LaunchNavigator et le résultat est le même que InAppBrowser.

Je laisse quelques informations sur la version que j'utilise.

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 

Merci d'avance pour votre aide!

Répondre

0

Utilisez ce, 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

Merci pour votre réponse, mais comme je l'ai déjà dit, je l'ai déjà essayé. Pour être sûr, j'ai utilisé le code que vous avez coller, mais je reçois un écran blanc avec le message "ne peut pas GET/undefined" quand je reviens à mon application. – Centos

0

La raison pour laquelle quelqu'un a mon problème est parce que je l'ai fait une énorme erreur en html. J'appelais deux fonctions avec deux événements différents de clic sur le même bouton. Une erreur que je n'ai pas remarquée du tout jusqu'à maintenant.

Les bonnes nouvelles sont que je résous mon problème.