Подтвердить что ты не робот

Получить границы долготы и широты от текущих масштабируемых карт google

Мне нужно знать длинный и лат из моих четырех углов текущей области как на этом изображении

enter image description here

Я пробовал это, но не повезло:

map.getBounds();

любая помощь?

4b9b3361

Ответ 1

Вы на полпути. Все, что вам нужно сделать, это получить границы карты, а затем извлечь (и правильно использовать) координаты углов.

var bounds = map.getBounds();
var ne = bounds.getNorthEast(); // LatLng of the north-east corner
var sw = bounds.getSouthWest(); // LatLng of the south-west corder

Вы получаете северо-западные и юго-восточные углы от двух выше:

var nw = new google.maps.LatLng(ne.lat(), sw.lng());
var se = new google.maps.LatLng(sw.lat(), ne.lng());

Просто имейте в виду, что карта должна быть уже инициализирована, иначе границы карты равны нулю или undefined.

Если вы хотите обновляться о каждом изменении области просмотра, используйте idle прослушиватель событий:

google.maps.event.addListener(map, 'idle', function(ev){
    // update the coordinates here
});

Ответ 2

**this is mapbox zoom example**
 map.on('zoom', (el) => {
        map.getBounds();
    });