Google Map API V3 геокодер не показывает правильное место - PullRequest
3 голосов
/ 29 мая 2010

Я обновляю свои коды с Google Map API V2 до V3. В V2 я использовал GlocalSearch, чтобы получить широту и долготу для данного адреса.

В V3 я увидел google.maps.Geocoder () и попытался получить аналогичные детали. Однако широта и долгота, заданные функцией V3, не точны.

Пожалуйста, смотрите следующий скриншот здесь: Неправильно http://img340.imageshack.us/img340/477/wronga.jpg Правильно http://img413.imageshack.us/img413/5899/correct.jpg

Мои коды для V3 следующие:

var geocoder = new google.maps.Geocoder();
function codeAddress(address) {
    if (geocoder) 
    {
        address = address + ", UK";

        geocoder.geocode( { 'address': address}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                var latlng = results[0].geometry.location;              
                addMarker(latlng); //Adding Marker here             
            } else {
                alert("Geocode was not successful for the following reason: " + status);
            }
        });
    }
}

Есть ли лучший способ получить точный результат в API V3? Спасибо.

Ответы [ 2 ]

0 голосов
/ 18 февраля 2011

Другим вариантом является вызов веб-службы, которая приводит к результатам в формате JSON или XML, а затем вы можете сформулировать эти результаты, чтобы получить желаемое местоположение. В документации по картам Google v3 множество примеров

0 голосов
/ 07 января 2011

Зарегистрируйте значение свойства location и проверьте правильность координат.

Разместите код метода addMarker.

...