关于自动完成位置搜索的任何好的建议,与谷歌或 Bings 位置数据等集成?
我想在注册时捕获我的用户的位置,目前我有一个免费文本输入框。我想要某种自动完成功能来引导用户输入更多经过清理的信息,理想情况下我也想对用户进行地理编码。
我目前正在使用 jQuery自动完成进行自动搜索,但这需要我提供我没有或不想维护的位置数据。
关于自动完成位置搜索的任何好的建议,与谷歌或 Bings 位置数据等集成?
我想在注册时捕获我的用户的位置,目前我有一个免费文本输入框。我想要某种自动完成功能来引导用户输入更多经过清理的信息,理想情况下我也想对用户进行地理编码。
我目前正在使用 jQuery自动完成进行自动搜索,但这需要我提供我没有或不想维护的位置数据。
如果您不想维护自己的位置数据库(对您有好处!),那么您可以查看 Freebase 和他们的 jQuery 的Freebase Suggest插件。他们会为您完成所有自动完成,甚至是建议用户界面,您可以指定您只想自动完成位置(或仅美国县,或其他)。
存在可以提供位置名称数据库但不会为您执行自动完成 UI 的地名词典。 例如,GeoNames有一组不错的Web 服务,您可以将其与 jQuery Autocomplete 相匹配。
我们为https://bombsheets.com/上的“帐单地址”字段做了类似的事情——您需要进行 AJAX 调用以获取自动完成选项:
$(".address-autocomplete").autocomplete('/get_address', {
delay: 250,
scrollHeight: 400,
matchSubset: false,
cacheLength: 10,
minChars: 3
});
然后使用地理定位 API 服务器端获取实际地址(我们使用 Rails 出色的GeoKit)。
有关其他颜色,请参阅此问题。
https://github.com/lorenzsell/Geocoded-Autocomplete 这个 jQuery 插件使用 Google Geocoding Javascript API 和 jQuery UI 自动完成。
<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>