1
マーカーのグループの境界を設定しようとしていますが、地球地図全体を取得し続けています。私はチェックして、すべてのマーカーに適切な座標が設定されています。ここに私のコードでは、全体のITには:複数のマーカーのマップ境界を設定する
<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>
そして、ここでは、レンダリングされるものだ
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;
私は何が欠けていますか?犯人は、次のクラスwithingブートストラップタブだった
ここで、$ avglatと$ avglonを定義していますか? – zipzit
投稿されたコードは、(あなたが提供したデータで)私のために働いています[fiddle](http://jsfiddle.net/geocodezip/1baz7uhw/1/)。あなたの問題を示す[mcve]を提供してください。 – geocodezip
投稿が更新されました。 @zipzit私はPHPで配列を作成した後に平均を取得します。 – santa