Важно понимать, что геокодирование не является точной наукой. Рекомендуемая практика, если у вас есть адреса, которые, как вы знаете, должны геокодировать в определенном месте, заключается в создании кэша и использовании локального (на стороне клиента) геокодирования.
В версии 2 API вы создадите свой собственный кэш на стороне клиента, который содержит предварительно вычисленные ответы геокодера, расширив GeocodeCache. Как только кеш определен, вы вызываете метод setCache () и все готово. Это в значительной степени объясняется здесь:
http://code.google.com/apis/maps/documentation/javascript/v2/services.html#Geocoding_Caching
Однако AFAIK GeocodeCache был удален в V3 API ...
Итак, я бы предложил реализовать собственную клиентскую стратегию кэширования известных адресов и их соответствующих координат. Когда ваше приложение получает запрос геокодирования на известный адрес, ответ приходит из вашего кэша (а не с серверов геокодирования Google).
В противном случае вы всегда можете использовать платный сервис геокодирования, который, теоретически, будет иметь гораздо более точный набор данных (а также более высокий лимит на запросы и т. Д.).
Наконец, вам также следует ознакомиться с документом Geocoding Strategies , поскольку он дает хорошее представление о некоторых проблемах здесь.