мне очень нравится решение MRT и она прекрасно работает, если вы всегда только один пункт работайте с. Однако я обнаружил, что если ограничивающая рамка не была основана на одной точке, но точки были очень близки друг к другу, это все равно может привести к тому, что карта будет увеличена слишком далеко.
Вот способ сначала проверить, если точки находятся в пределах определенного расстояния друг от друга, а затем, если они меньше, чем минимальное расстояние, расширить границы с помощью этого минимального расстояния:
var bounds = new google.maps.LatLngBounds();
// here you extend your bound as you like
// ...
var minDistance = 0.002;
var sumA = bounds.getNorthEast().lng() - bounds.getSouthWest().lng();
var sumB = bounds.getNorthEast().lat() - bounds.getSouthWest().lat();
if((sumA < minDistance && sumA > -minDistance)
&& (sumB < minDistance && sumB > -minDistance)){
var extendPoint1 = new google.maps.LatLng(bounds.getNorthEast().lat() + minDistance, bounds.getNorthEast().lng() + minDistance);
var extendPoint2 = new google.maps.LatLng(bounds.getNorthEast().lat() - minDistance, bounds.getNorthEast().lng() - minDistance);
bounds.extend(extendPoint1);
bounds.extend(extendPoint2);
}
Надежда это помогает кто то!
http: // stackoverflow.com/questions/4523023/use-setzoom-after-use-fitbounds-with-google-maps-api-v3 - гораздо лучшее решение. Особенно @Nequins ответить – Kennet