2017-09-23 18 views
0

Spécifications:Construire Phonegap App n'initialise les cartes google

  1. PhoneGap Desktop App v0.4.3
  2. Android v5.1.1

Le code ci-dessus fonctionne bien avec application Desktop et Le fichier config.xml est créé par cette application de bureau PhoneGap. Et quand je l'ai essayé sur build.phonegap.com, Google maps n'a pas réussi à s'initialiser, donc, rien ne s'affiche sur Android, juste un écran blanc.

Voici ma méthode initMap qui l'API a besoin:

var map, directionsService, directionsDisplay; 

function initMap() { 

    directionsService = new google.maps.DirectionsService; 
    directionsDisplay = new google.maps.DirectionsRenderer; 

    map = new google.maps.Map(document.getElementById('gMap'), { 
     zoom: 10, 
     center: { lat: 25.0115052, lng: 66.7845126 }, 
     mapTypeId: 'roadmap', 
    }); 

    directionsDisplay.setMap(map); 


} // initMap() ends 

config.xml:

<?xml version='1.0' encoding='utf-8'?> 
<widget id="com.phonegap.helloworld" 
    version="1.0.0" 
    xmlns="http://www.w3.org/ns/widgets" 
    xmlns:gap="http://phonegap.com/ns/1.0"> 

    <name>TestApp</name> 
    <description> 
     A blank PhoneGap app. 
    </description> 
    <author email="[email protected]" href="http://phonegap.com"> 
     PhoneGap Team 
    </author> 
    <content src="index.html" /> 
    <access origin="*" /> 
</widget> 
+0

Quelle erreur obtenez-vous exactement? – henrisycip

+0

@henrisycip Je pense, je devrais refaire le problème (une application simple qui montre juste les google maps sans aucune modification). Je vais modifier la requête ci-dessus, après cela. –

Répondre

1

Après les points nécessaires pour se souvenir tout en natif hybride Applications:

  1. Prise en charge des versions de langages Web (HTML, CSS, JS, ...) dans l'appareil cible (Android, IOS, etc.).
  2. Chargez le plugin/les bibliothèques requis pour travailler avec des composants natifs.


Solution:

vous avez besoin cordova-plugin-whitelist plug-in pour accéder aux cartes, donc, qui résoudra votre problème:

<plugin name="cordova-plugin-whitelist" spec="1.3.2" /> 
<!-- Allow geo: links to open maps --> 
<allow-intent href="geo:*" /> 

Selon Cordova Docs:

Par défaut, aucune URL externe n'est autorisée. Sur Android, cela équivaut à envoyer une intention de type BROWSEABLE.