私の問題は、通常、fitBounds はオブジェクトを中央に配置しますが、小さすぎることです。特定のオブジェクトをマップの中心にして、可能な限りズームインする必要があると思います。実際、通常、ズーム レベルは 1 レベル高くなります。私の例を考えてください。ご覧のとおり、国は 1 レベル拡大しても 100% 表示されます。それを克服する方法はありますか?
これが私のコードです:
$(document).ready(function(){
var locationBBOX = [["14.149166 49.002914","24.14444 49.002914","24.14444 54.834442","14.149166 54.834442","14.149166 49.002914"]];
var map = new google.maps.Map(
document.getElementById('map-div'), {
center: new google.maps.LatLng(0, 0),
disableDefaultUI: true,
zoom: 1,
mapTypeId: google.maps.MapTypeId.ROADMAP });
var _bounds = new google.maps.LatLngBounds();
for(var k in locationBBOX)
{
var _c1 = locationBBOX[k][0].split(' ');
var _c2 = locationBBOX[k][2].split(' ');
var _bbox = new google.maps.LatLngBounds(new google.maps.LatLng(parseFloat(_c1[1]),parseFloat(_c1[0])),new google.maps.LatLng(parseFloat(_c2[1]),parseFloat(_c2[0])));
_bounds.union(_bbox);
}
map.fitBounds(_bounds);
var ne = _bounds.getNorthEast();
var sw = _bounds.getSouthWest();
var boundingBoxPoints = [
ne, new google.maps.LatLng(ne.lat(), sw.lng()),
sw, new google.maps.LatLng(sw.lat(), ne.lng()), ne
];
var boundingBox = new google.maps.Polyline({
path: boundingBoxPoints,
strokeColor: '#FF0000',
strokeOpacity: 1.0,
strokeWeight: 2
});
boundingBox.setMap(map);
});
ありがとう!