6

关于自动完成位置搜索的任何好的建议,与谷歌或 Bings 位置数据等集成?

我想在注册时捕获我的用户的位置,目前我有一个免费文本输入框。我想要某种自动完成功能来引导用户输入更多经过清理的信息,理想情况下我也想对用户进行地理编码。

我目前正在使用 jQuery自动完成进行自动搜索,但这需要我提供我没有或不想维护的位置数据。

4

4 回答 4

7

如果您不想维护自己的位置数据库(对您有好处!),那么您可以查看 Freebase 和他们的 jQuery 的Freebase Suggest插件。他们会为您完成所有自动完成,甚至是建议用户界面,您可以指定您只想自动完成位置(或仅美国县,或其他)。

存在可以提供位置名称数据库但不会为您执行自动完成 UI 的地名词典。 例如,GeoNames有一组不错的Web 服务,您可以将其与 jQuery Autocomplete 相匹配。

于 2009-08-24T22:56:48.240 回答
2

我们为https://bombsheets.com/上的“帐单地址”字段做了类似的事情——您需要进行 AJAX 调用以获取自动完成选项:

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

然后使用地理定位 API 服务器端获取实际地址(我们使用 Rails 出色的GeoKit)。

有关其他颜色,请参阅此问题。

于 2009-08-24T18:50:09.517 回答
2

https://github.com/lorenzsell/Geocoded-Autocomplete 这个 jQuery 插件使用 Google Geocoding Javascript API 和 jQuery UI 自动完成。

于 2011-03-23T04:19:08.893 回答
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>
于 2016-03-30T13:15:08.820 回答