У меня есть этот фрагмент кода:
function ShowSelection(addr){
var latLngBounds;
geocoder.geocode({ "address": addr }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (selectionArea === undefined || selectionArea === null) {
selectionArea = new google.maps.Rectangle({
map: map
});
}
latLngBounds = results[0].geometry.bounds;
selectionArea.setBounds(latLngBounds);
map.panTo(latLngBounds.getCenter());
map.setZoom(12);
}
else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
Моя проблема в том, что когда я вызываю map.setZoom (12), карта просто остается на том же уровне масштабирования, на котором она уже была.
Полагаю, лучшим решением было бы установить для него уровень масштабирования, который показывает полное выделение области в окне карты.
Так что я думаю, что это своего рода двойной вопрос:
- Как изменить уровень масштабирования при вызове setZoom ()?
- Как установить уровень масштабирования таким образом, чтобы нарисованный на карте прямоугольник полностью помещался в границах картыDIV?(Требуемый эффект, который я ищу, - это перемещение карты к центральной точке области выбора, а границы карты должны быть больше границ области выбора, т. Е. Вся область выделения видна на карте безпрокрутка.