Naprawdę podoba mi się rozwiązanie mrt i działa idealnie, jeśli zawsze masz tylko jeden punkt do pracy. Zauważyłem jednak, że jeśli obwiednia nie była oparta na jednym punkcie, ale punkty były bardzo blisko siebie, nadal mogło to spowodować zbyt duże powiększenie mapy.
Oto sposób, aby najpierw sprawdzić, czy punkty znajdują się w określonej odległości od siebie, a następnie, jeśli są mniejsze niż ta minimalna odległość, wydłuż granice o tę minimalną odległość:
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);
}
Mam nadzieję, że to komuś pomoże!