複数の場所が記載された地図があります。場所は、表示されるページに応じて実行時に決定されます (これらはディーラーの場所であるため、ディーラー ID によって異なります)。表示されたマーカーに基づいてマーカーの中心に配置されます. これを行うにはどうすればよいですか? 現在, ズームと中心は手動で設定されています. これまでの私のコードは次のとおりです:
<script type="text/javascript">
function initialize() {
var locations = [
<?php
$loc = '';
$i = 1;
foreach ($coordinates as $c) {
$loc .= '["' . $c->company . '", ' . $c->latitude . ', ' . $c->longitude . '], ';
$i++;
}
echo substr($loc, 0, -2);
?>
];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(-33.92, 151.25),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>