私は、Googleマップの中央の緯度を上書きし、fitBounds()メソッドを使用してズームする方法を探していました。ご覧のとおり、正しいズームでマップ内にすべて収まるように、latlng座標の配列があります。
厄介なことに、マップは、マップが初期化されたときに、center属性のlatlng座標のみを取得します。助けてください、私は私が間違っていることを見ることができません。ありがとう
function initialize() {
var centrelatlng = new google.maps.LatLng(52.474, -1.868);
var myOptions = {
zoom:11,
center: centrelatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var image = 'http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png';
var hotels = [
['ibis Birmingham Airport', 52.452656, -1.730548, 4],
['ETAP Birmingham Airport', 52.452527, -1.731644, 3],
['ibis Birmingham City Centre', 52.475162, -1.897208, 2]
];
var latLngs = [];
var hotel;
for (var i = 0; i < hotels.length; i++) {
hotel = hotels [i];
var myLatLng = new google.maps.LatLng(hotel[1], hotel[2]);
latLngs[i] = myLatLng;
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
icon: image,
title: hotel[0],
zIndex: hotel[3]
});
}
var latlngbounds = new google.maps.LatLngBounds();
latLngs.each(function(n){
latlngbounds.extend(n);
});
map.setCenter(latlngbounds.getCenter());
map.fitBounds(latlngbounds);
};
すべてのコードを表示するには、コードビューアを下にスクロールする必要があることに注意してください。