2009-08-24 13 views
6

GoogleやBingsの位置情報などと統合された、完全な位置検索に関する素晴らしい提案はありますか?bing/googleジオコーディングと統合された位置検索のオートコンプリート

私は登録時に自分のユーザーの位置を取得したいと思っていますが、現在フリーテキスト入力ボックスがあります。私は、より完全な情報を入力するようにユーザーに指示する何らかの自動補完をしたいと思っています。理想的には、ユーザーをジオコードすることも理想的です。

私は現在、自動検索にjQuery autocompleteを使用していますが、これは私が持っていない、または維持したい位置データを提供する必要があります。

答えて

7

独自のデータベースを維持したくない場合は、FreebaseとjQuery用のFreebase Suggestプラグインを参照してください。彼らはあなたのためのすべての自動補完と提案のUIを行い、あなたはちょうど(または唯一の米国郡、または何か)を自動補完することを指定することができます。

ロケーション名のデータベースを提供できる地名辞典が存在しますが、あなたには自動補完UIはありません。 GeoNamesは、例えば、web servicesという素晴らしいセットを持っています。これは、jQueryオートコンプリートとマッチすることができます。

+0

ちょっと涼しいが、その非常に米国の中心、およびポップアップのようなwikiがabitは行き過ぎです。 – Dan

+0

地名辞典は、名前の完全なデータベースを提供することができます。 (私はいくつかのリンクで私の答えを更新しました) – npdoty

+0

また、Freebase Suggestのフライアウトが嫌いなら、私は '{" flyout ":" 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> 
関連する問題