2009-08-24 3 views
6

Любые хорошие предложения по автоматическому полному поиску местоположения, которые интегрируются с данными о местоположении Google или Bings?Автозаполнение поиска местоположения, которое интегрируется с геокодированием bing/google

Я хочу захватить местоположение своих пользователей при регистрации, в настоящее время у меня есть свободное текстовое поле ввода. Я хочу, чтобы у вас была какая-то автозагрузка, которая побуждает пользователя вводить более дезинфицированную информацию, в идеале я хотел бы также использовать код для геокодирования.

В настоящее время я использую jQuery autocomplete для автопоиска, но для этого мне необходимо предоставить данные о местоположении, которые я не имею или не хочу поддерживать.

ответ

7

Если вы не хотите поддерживать свою собственную базу данных местоположений (хорошо для вас!), Вы можете посмотреть на Freebase и их плагин Freebase Suggest для jQuery. Они сделают все автоматическое завершение и даже пользовательский интерфейс для вас, и вы можете указать, что вы просто хотите автоматически заполнить местоположения (или только в округах США или что-то еще).

Существуют справочники географических названий, которые могут предоставить базу данных имен местоположений, но не будут использовать авто-полный пользовательский интерфейс для вас. Например, у GeoNames есть хороший набор web services, который вы могли бы сопоставить с автозаполнением jQuery.

+0

круто, но очень США ориентированные, и вики, как всплывающие окна являются ABIT излишества. – Dan

+0

Вестники могут предоставить вам более полную базу данных имен. (Я обновил свой ответ на некоторые ссылки.) – npdoty

+0

Кроме того, если вам не нравятся всплывающие окна Freebase Suggest, я бы предложил '{" вылет ":" false "}'. – npdoty

2

Мы делаем что-то похожее на поле «платежного адреса» на https://bombsheets.com/ - вам нужно сделать вызов AJAX, чтобы получить варианты автозаполнения:

$(".address-autocomplete").autocomplete('/get_address', { 
    delay: 250, 
    scrollHeight: 400, 
    matchSubset: false, 
    cacheLength: 10, 
    minChars: 3 
}); 

И затем использовать геолокации API на стороне сервера, чтобы получить фактические адреса (мы используем Rails отлично GeoKit).

См. this question для получения дополнительного цвета.

0
<script> 
     function init() { 
      var input = document.getElementById('locationTextField'); 
      var autocomplete = new google.maps.places.Autocomplete(input); 

      ///Start for getting lat and lang 

      google.maps.event.addListener(autocomplete, 'place_changed', 
       function() { 
        var place = autocomplete.getPlace(); 
        var lat = place.geometry.location.lat(); 
        var lng = place.geometry.location.lng(); 
        document.getElementById("lat").innerHTML = "Lat: "+lat+"<br />Lng: "+lng; 
       } 
      ); 

      ////End 
     } 

     google.maps.event.addDomListener(window, 'load', init); 
    </script> 
Смежные вопросы