2016-12-08 5 views
1

Ich versuche Grenzen für eine Gruppe von Markierungen zu setzen, bekomme aber immer eine ganze Erdkarte. Ich habe überprüft und alle meine Marker haben richtige Koordinaten gesetzt. Hier ist mein Code in seiner Gesamtheit:Setzen von Kartenbegrenzungen für mehrere Markierungen

PHP

foreach ($business AS $b) { 
     $mapData .= '["'.$b->name.'", '.$b->lat.', '.$b->lon.', '.$cnt++.', '.($b->ID != '' ? 1 : 0).'],'; 
     $avgLat = $avgLat + $b->lat; 
     $avgLon = $avgLon + $b->lon; 
     $cntEnrolled = $cntEnrolled +1; 
    } 
} 

$mapData = rtrim($mapData, ","); 
$avgLat = $avgLat/$cntEnrolled; 
$avgLon = $avgLon/$cntEnrolled; 

HTML

<div id="map" class="pad0 mar0 w100p"></div> 

JS

<script>      
    function initMap() { 
      var map = new google.maps.Map(document.getElementById("map"), { 
      zoom: 14, 
      mapTypeControl: false, 
      center: { 
       lat: '.$avgLat.', 
       lng: '.$avgLon.' 
      } 
      });       
      setMarkers(map); 
    } 

    var restaurants = ['.$mapData.']; 

    function setMarkers(map) { 

     var bounds = new google.maps.LatLngBounds();    

     for (var i = 0; i < restaurants.length; i++) { 
      var restaurant = restaurants[i]; 
      var layerposit = (restaurant[4] == 1 ? 999 : restaurant[3]); 
      var marker = new google.maps.Marker({ 
       position: { 
        lat: restaurant[1], 
        lng: restaurant[2] 
       }, 
       map: map,   
       title: restaurant[0], 
       zIndex: layerposit 
      }); 
      bounds.extend(marker.getPosition()); 
     } 
     map.fitBounds(bounds); 
    } 
</script> 
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBQo-k5Tta6adY9AuEi1afno8HKvac_WoQ&callback=initMap"></script> 

Und hier ist, was gemacht wird: enter image description here

Was fehlt mir?

+0

Wo definieren Sie $ avglat und $ avglon? – zipzit

+0

Der veröffentlichte Code funktioniert für mich (mit den von Ihnen angegebenen Daten) [Geige] (http://jsfiddle.net/geocodezip/1baz7uhw/1/). Bitte geben Sie eine [mcve] an, die Ihr Problem veranschaulicht. – geocodezip

+0

Aktualisierter Beitrag. @zipzit Ich bekomme avg, nachdem ich ein Array mit PHP gebaut habe. – santa

Antwort

1

Der Täter war die folgende Klasse withing Bootstrap-Tabs: .tab- Scheibe

<div role="tabpanel" class="tab-pane fade" id="mymap"> 

es herausnehmen und alle Karten Probleme verschwinden.

Verwandte Themen