2014-09-03 1 views
-1

Ceci est la première fois que je poste ici. Je suis nouveau dans le travail avec Javascript ou Google Maps API. J'ai une carte avec une couche KML, et je veux créer une case à cocher qui activera ou désactivera la couche quand on cliquera dessus. J'ai vu beaucoup d'exemples sur le web, mais rien ne semble fonctionner dans mon application. Voici le code:Fonction d'activation/désactivation de la couche KML

(function() { 
window.onload = function() { 

    var options = { 
     center: new google.maps.LatLng(44.65, 22.64), 
     zoom: 10, 
     mapTypeId: google.maps.MapTypeId.TERRAIN, 
     mapTypeControl: true, 
     mapTypeControlOptions: { 
      mapTypeIds: [ 
       google.maps.MapTypeId.HYBRID, 
       google.maps.MapTypeId.SATELLITE, 
       google.maps.MapTypeId.TERRAIN 
      ]  
     }, 
     streetViewControl: false 
    }; 

    var map = new google.maps.Map(document.getElementById('map'), options); 

    var kmlUrl = 'http://googledrive.com/host/0B55_4P6vMjhITEU4Ym9iVG8yZUU/trasee.kml'; 
     var kmlOptions = { 
     suppressInfoWindows: false, 
     preserveViewport: false, 
    }; 

    var trasee = new google.maps.KmlLayer(kmlUrl, kmlOptions).setMap(map); 

} 
})(); 

Je ne sais pas quelle fonction créer pour basculer la visibilité de la couche barbante j'ai créé une case à cocher dans le fichier HTML:

<input type="checkbox" id="straturi" onClick="togglefunction()" /> 

Pourriez-vous donner moi des conseils?

Meilleures salutations, Alexandru

+0

double possible de [Toggle plusieurs couches KML/KML dans Google Maps API v3] (http://stackoverflow.com/questions/17409598/toggle-multiple -kml-kml-couches-dans-google-cartes-api-v3) – geocodezip

Répondre

0

La fonction bascule doit être quelque chose comme

var toggleKml=function(layer) { 
    if(layer.getMap()===null) { 
     layer.setMap(map) 
    } else { 
     layer.setMap(null) 
    } 
}; 

Et il doit être défini dans le même contexte que la carte et trasee, sinon il ne sera pas voir ces objets . Dans votre cas, vous appelez avec trasee comme paramètre

toggleKml(trasee); 
+0

Merci, j'ai réussi à le faire –

+0

Vous voulez dire, ma réponse a fonctionné ou vous avez trouvé un autre moyen? – amenadiel

+0

Oui, j'ai utilisé votre fonction. –

Questions connexes