google-maps - 谷歌自动完成不返回lat long

标签 google-maps

<script src="https://maps.googleapis.com/maps/api/js?key=KEY&libraries=places" type="text/javascript"></script>

<script>
function initialize() {

    var input = document.getElementById('searchTextField');
    var autocomplete = new google.maps.places.Autocomplete(input);

    autocomplete.addListener('place_changed', function(){
        console.log(autocomplete.getPlace());
    });
}

    google.maps.event.addDomListener(window, 'load', initialize);
</script>

<input id="searchTextField" type="text" size="50">

在浏览器的控制台中,我可以看到 getPlace.geometry.location.lat 是空的。我错过了什么吗?

最佳答案

getPlace.geometry.location.lat 是一个函数,你需要调用它来获取它的值(getPlace.geometry.location.lat())。

getPlace.geometry.location.toUrlValue(6) 将为您提供逗号分隔的坐标。

代码片段:

function initialize() {
  var input = document.getElementById('searchTextField');
  var autocomplete = new google.maps.places.Autocomplete(input);

  autocomplete.addListener('place_changed', function() {
    console.log("lat=" + autocomplete.getPlace().geometry.location.lat());
    console.log(autocomplete.getPlace().geometry.location.toUrlValue(6));
  });
}

google.maps.event.addDomListener(window, 'load', initialize);
<script src="https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk"></script>
<input id="searchTextField" type="text" size="50">

关于google-maps - 谷歌自动完成不返回lat long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42279720/

相关文章:

javascript - 如何将新的 Google map 共享链接转换为 iframe 嵌入 html?

ios - map View 总是移回用户的当前位置

javascript - Google Maps API - 沿纬度/经度之间的路线获取点

java - 如何正确使用 session token ?

javascript - 为什么 GoogleMap 在我的 .net 项目中不显示 key,而显示 v

javascript - Google Maps Api v3 - getBounds 未定义

javascript - Google map 上是否有 GeoJSON 加载事件?

google-maps - 从移动网站重定向到谷歌地图

javascript - 在 Google 地理图表中的两点之间绘制曲线

google-maps - Google map 标记不适用于 Safari 中的 Shadow DOM