Ответ 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
});