Google maps 从谷歌地图地址获取经度和纬度值
我有一个谷歌地图API,它提供了谷歌地图地址。以下是获取谷歌地图API的代码:Google maps 从谷歌地图地址获取经度和纬度值,google-maps,geolocation,location,Google Maps,Geolocation,Location,我有一个谷歌地图API,它提供了谷歌地图地址。以下是获取谷歌地图API的代码: <input name="add" type="text" id="address" class="required" style="width: 500px;"> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=places&a
<input name="add" type="text" id="address" class="required" style="width: 500px;">
<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>
<!--code for Google address API-->
现在我还需要输入地址的经度和纬度。任何人都知道如何获取输入地址的经度和纬度值。您可以使用该位置的几何体对象来获取纬度和纬度。如果我输入一个有效的目的地并从“自动完成”选项中选择一个目的地,以下方法对我有效
<input name="add" type="text" id="address" class="required" style="width: 500px;">
<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(document.getElementById('address'));
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
var geometry = place.geometry;
var location = geometry.location;
var latitude = location.lat();
var longitude = location.lng();
console.log(latitude);
console.log(longitude);
});
</script>
我得到了答案:
它给出了错误:TypeError:location.lat不是函数[Break On This error]var lation=location.lat;这对我来说确实有效。我会把我的全部代码写在这个答案里。唯一的区别是我没有为自动完成选项传递空的{},我使用document.getElementById而不是jquery SelectorTanks,因为我得到了答案,但与您的答案有所不同。
var place = autocomplete.getPlace();
var latitude = place.geometry.location.lat();
var longitude = place.geometry.location.lng();
<script>
function cordinate()
{
geocoder = new google.maps.Geocoder(); // creating a new geocode object
// getting the address value
address1 = document.getElementById("address").value;
//alert(address1);
if (geocoder)
{
geocoder.geocode( { 'address': address1}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK)
{
//location of address (latitude + longitude)
var location1 = results[0].geometry.location;
document.getElementById("cor").value = location1;
//alert(location1);
} else
{
alert("Geocode was not successful for the following reason: " + status);
}
});
}//end of If
}
</script>
<!--code for google address cordinates-->
<input type="hidden" name="cor" id="cor">