Это беспокоило меня некоторое время с GMaps v3.
Я нашел способ сделать это так:
google.maps.event.addListenerOnce(map, 'idle', function(){
// do something only the first time the map is loaded
});
Событие "idle" запускается, когда карта переходит в состояние ожидания - все загружено (или не удалось загрузить). Я обнаружил, что он более надежен, чем tileloaded / bounds_changed, и с помощью метода addListenerOnce
код в замыкании выполняется при первом запуске «idle», а затем событие отключается.
См. Также раздел событий в Справочнике по Google Maps.