作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个用于输入位置的输入字段,它支持来自谷歌地图 API 的位置建议。还有两个纬度和经度输入字段。最后有一个 div 用于在输入位置上方显示 map 。每当有人开始输入位置并从建议中选择一个位置时,该位置的 map 将自动显示在下面的 div 中。一切都应该是实时的。
到目前为止我已经写了以下内容 -
<input type="text" name="address1" id="address1" class="form-control" required="required" onkeyup="findAddress()" />
<input type="text" name="lattitude" id="cityLat" placeholder="Lattitude" class="form-control" required="required"/>
<input type="text" name="longitude" id="cityLng" placeholder="Longitude" class="form-control" required="required"/>
<div id="showMap"></div>
JavaScript 是
function findAddress() {
var input = document.getElementById('address1');
var autocomplete = new google.maps.places.Autocomplete(input);
google.maps.event.addListener(autocomplete, 'place_changed', function () {
var place = autocomplete.getPlace();
document.getElementById('cityLat').value = place.geometry.location.lat();
document.getElementById('cityLng').value = place.geometry.location.lng();
}
我已经包含了 map API
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places"></script>
搜索建议有效,但休息无效。
最佳答案
不确定这是否是导致问题的原因,但您的 JavaScript 有语法错误。你有这个:
function findAddress() {
var input = document.getElementById('address1');
var autocomplete = new google.maps.places.Autocomplete(input);
google.maps.event.addListener(autocomplete, 'place_changed', function () {
var place = autocomplete.getPlace();
document.getElementById('cityLat').value = place.geometry.location.lat();
document.getElementById('cityLng').value = place.geometry.location.lng();
}
但是您没有正确关闭addListener
。正确的格式应该是:
function findAddress() {
var input = document.getElementById('address1');
var autocomplete = new google.maps.places.Autocomplete(input);
google.maps.event.addListener(autocomplete, 'place_changed', function () {
var place = autocomplete.getPlace();
document.getElementById('cityLat').value = place.geometry.location.lat();
document.getElementById('cityLng').value = place.geometry.location.lng();
});
}
注意倒数第二行的 });
。
关于javascript - 从自动完成地址输入中获取纬度和经度,并使用谷歌地图 API 显示下面的 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33331055/
leaflet:一个开源并且对移动端友好的交互式地图 JavaScript 库 中文文档: https://leafletjs.cn/reference.html 官网(英文): ht
我是一名优秀的程序员,十分优秀!