2010-10-05 7 views
1

J'ai quelques problèmes pour créer une carte google qui charge des fichiers XML avec des adresses au lieu de latlng. Le fichier XML contient environ 10 enregistrements. Je n'arrive pas à comprendre comment faire.google map v3 KmlLayer, Geocoder

$(document).ready(function(){ 

    var refreshId = setInterval(function(){ 

     var latlng = new google.maps.LatLng(18.156291402835436, 22.2802734375); 
     var myOptions = { 
      zoom: 3, 
      center: latlng, 
      mapTypeId: google.maps.MapTypeId.TERRAIN 
     }; 
     var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions); 

     var georssLayer = new google.maps.KmlLayer("data.xml"); 

      var geocoder = new google.maps.Geocoder(); 
      //???? 
      georssLayer.setMap(map); 

     }, 10000); 
    }); 



<div id="map_canvas" style="width:99%; height:99%"></div> 

aide plz

+0

Résolu mon problème en regardant votre question (la réponse ne s'appliquait pas à mon problème) +1! :-) – acm

Répondre

1

OK ma solution au bout de 2 jours:

charge XML avec ajax et boucle le document pour l'adresse, puis après

map = new google.maps.Map() 

adresse est l'adresse de xml, devrait avoir rue, ville, pays

geocoder.geocode({ 'address': address }, function (results, status) { 

    if (status == google.maps.GeocoderStatus.OK) { 
     //Make the latitude*longitude format 
     var latlng = new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng()); 
     //Show me the money!!! 
     var marker = new google.maps.Marker({ 
      map: map, 
      position: latlng, 
      title: address 
     }); 


     google.maps.event.addListener(marker, 'click', function() { 
      infowindow.setContent(html); 
      infowindow.open(map,marker); 
     }); 
     google.maps.event.trigger(marker, 'click'); 
    } 
    }); 
Questions connexes