2016-06-14 17 views
-1

Ich versuche, mehrere Adressen auf einer Karte anzuzeigen, aber es zeigt nur die erste, die aus der Datenbank abgerufen wird. Dies ist der Code:Mehrere Markierungen auf Google-Karte

<?php if($places) { foreach 
    ($places->result_array() as $place) { ?> 

    if (GBrowserIsCompatible()) { 



     var geocoder = new GClientGeocoder(); 
     geocoder.getLocations("'<?php echo $place['number']?>','<?php echo $place['street']?>', '<?php echo $place['city']?>' ,'<?php echo $place['country']?>'", function (locations) {   
      if (locations.Placemark) 
      { 
      var north = locations.Placemark[0].ExtendedData.LatLonBox.north; 
      var south = locations.Placemark[0].ExtendedData.LatLonBox.south; 
      var east = locations.Placemark[0].ExtendedData.LatLonBox.east; 
      var west = locations.Placemark[0].ExtendedData.LatLonBox.west; 

      var bounds = new GLatLngBounds(new GLatLng(south, west), 
              new GLatLng(north, east)); 

      var map = new GMap2(document.getElementById("map_canvas")); 

      map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds)); 
      map.addOverlay(new GMarker(bounds.getCenter())); 
      } 
     }); 
    } <?php }}?> 

Wie kann ich mehrere Markierungen auf derselben Karte anzeigen?

Antwort

0

Ihr Problem ist, dass Sie bei jeder Iteration

eine neue Map-Instanz erstellen, sollten Sie var map = new GMap2(document.getElementById("map_canvas")); außerhalb der Schleife (legen Sie sie vor) bewegen und es sollte funktionieren

+0

nun die Karte nicht mehr funktioniert aufkreuzen .. – rooger

+0

Übrigens, warum benutzt du so eine alte API? v3 ist viel einfacher zu verwenden – pwolaq

+0

Gute ideea. Danke vielmals ! Ich habe es geschafft! :) – rooger

Verwandte Themen