Sta*_*bie 22 jquery google-maps geocoding geolocation google-maps-api-3
我想向用户提供一个文本框,他们可以输入他们的地址.当他们键入地址时,我想向用户提供他们尝试键入的地址的建议/预测.我也担心这个地址的相关性(例如,地址不是世界各地的地址).
这可能吗?我正在使用jQuery.
Mak*_*nko 55
您可以使用Google Places API获取地址自动填充功能.选择地址时,address_components字段包含结构化地址数据(例如街道,城市,国家),可以轻松转换为单独的字段.
这是一个简短的工作演示:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
</head>
<body>
<input type="text" id="address" style="width: 500px;"></input>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=places&language=en-AU"></script>
<script>
var autocomplete = new google.maps.places.Autocomplete($("#address")[0], {});
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
console.log(place.address_components);
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
小智 6
https://github.com/ubilabs/geocomplete应该适合你.如有必要,您还可以显示地图.
如果您在不显示地图的情况下使用插件,则必须在文本字段下方显示"由Google提供支持"徽标.
运行版的@Maksym Kozlenko回答对于那些想要看到这个的人.
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
</head>
<body>
<input type="text" id="address" style="width: 500px;"></input>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=places&language=en-AU"></script>
<script>
var autocomplete = new google.maps.places.Autocomplete($("#address")[0], {});
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
console.log(place.address_components);
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)