Веб-сервис динамического поиска Google Maps с JSON - PullRequest
0 голосов
/ 15 декабря 2010

Привет. Я хочу воспроизвести результаты динамического поиска, полученные, например, при вводе в Google Maps, я из Сиднея, Австралия, поэтому, когда я поднимаю Карты и набираю "Kin", я получаю:

Пример карты http://img525.imageshack.us/img525/2042/screenshot20101215at514.png.

Но если я использую веб-сервис Geocoder с примером строки, например:

http://maps.google.com.au/maps/api/geocode/json?address=Kin+,%20Australia&bounds=-46.08542,-4.39023%7C93.33984,157.67578&sensor=false&region=au

OR

http://maps.google.com.au/maps/api/geocode/json?address=Kin&sensor=false

OR

http://maps.google.com.au/maps/api/geocode/json?address=Kin&sensor=false&region=au

Все, что мне возвращают, это (Попробуйте сами):

Киншаса, Демократическая Республика Конго Прибытие (КИН), Кингстон, Ямайка 4920 Кин, Бельгия

Т.Д.

Возвращается только тот, кто пытается ограничить его Австралией:

Остров Кинг, Лорана TAS 7256, Австралия

Теперь я не возражаю против фильтрации типа по месту на стороне клиента, но почему я не могу получить ТОЧНЫЕ результаты, аналогичные результатам динамического поиска, возвращаемым из самих карт Google.

Любая помощь наиболее ценится! Я потратил слишком много времени на это сейчас ...

Ответы [ 2 ]

1 голос
/ 16 декабря 2010

Геокодер предназначен для разрешения действительного адреса местоположения на поверхности Земли. Он не предназначен для использования в качестве предложения / услуги автозаполнения.

0 голосов
/ 19 декабря 2010

Я сделал это с помощью jquery

// jquery autocompleta $ (function () {$ ("# address"). Autocomplete ({// Этот бит использует геокодер для получения значений адресов source: function (request, response) {geocoder.geocode ({'address': request.term}, function (results, status) {response ($. map (results, function (item) {return {label: item.formatted_address, значение: item).formatted_address, latitude: item.geometry.location.lat (), longitude: item.geometry.location.lng ()}}));})}, // Этот бит выполняется при выборе адреса select: function (событие, пользовательский интерфейс) {
//$("#latitude").val(ui.item.latitude); //$("#longitude").val(ui.item.longitude); // var location= new google.maps.LatLng (ui.item.latitude, ui.item.longitude); //marker.setPosition(location); //map.setCenter(location);}});});

адрес - текстовое поле в HTML-файле

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...