Как круги карты Google соответствуют карте

У нас есть фильтр удаленного поиска. Он имеет окно просмотра карты, которое позволяет установить базовый маркер и текстовое поле ввода, которое позволяет вводить расстояние в километрах.

Затем в окне просмотра мы используем circle, чтобы показать это расстояние на карте.

Вопрос: как я могу масштабировать карту так, чтобы она соответствовала кругу?

Ответы

Ответ 1

A google.maps.Circle имеет метод getBounds(), который возвращает LatLngBounds круга. Вы можете использовать эту оценку как аргумент для google.maps.Map.fitBounds()

Если вы используете круг, вы можете сделать это:

map.fitBounds(circle.getBounds());

... в конце init-функции.

http://jsfiddle.net/doktormolle/MHLjy/

Ответ 2

Для нескольких кругов используйте union вместо expand:

var bounds = new google.maps.LatLngBounds();

$.each(circles, function(index, circle){
    bounds.union(circle.getBounds());
});

map.fitBounds(bounds);