我正在使用谷歌地方自动填充的输入字段。我已经设置了自动完成功能来预测只有城市,但我正在寻找一种简单的方法来获取所选城市的唯一place_id。我不想在谷歌地图上使用它。我需要它只是为了确定所选城市的独特价值..提前感谢..
这是我的JS:
<script src="maps.googleapis.com/maps/api/js?libraries=places"; type="text/javascript"></script>
<script type="text/javascript">
function initialize() {
var options = { types: ['(cities)'] };
var input = document.getElementById('searchCity');
var autocomplete = new google.maps.places.Autocomplete(input,options);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
这是我的PHP:
<form method="GET" action=<?php echo $_SERVER['PHP_SELF'];?>>
<input id="searchCity" type="text" size="50"
placeholder="Enter a City" autocomplete="on" name="city">
<br>
<?php if (!empty($_GET['city']) ) {
echo $_GET['city'];
} else {
echo "not set";
}
unset($_GET['city']); ?>
</form>
<!-- Here I would like to show the place_id of the selected city-->
</div>
答案 0 :(得分:5)
您不需要PHP来显示地点详细信息。您只需要place_changed
的Javascript事件处理程序。
E.g。将此代码添加到initialize
函数:
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
var form = input.parentElement;
form.appendChild(document.createTextNode("Place ID is " + place.place_id));
});
Google文档中的这些示例包含使用place_changed
事件的完整示例。他们值得一看: