如何使用谷歌地图搜索框api从搜索到的位置获取经度和纬度.
我使用与谷歌演示相同的代码 – https://developers.google.com/maps/documentation/javascript/examples/places-searchbox
搜索代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<script type=
"text/javascript"
>
//自动搜索
function
initMap() {
var
input = document.getElementById(
'address_search'
);
var
places =
new
google.maps.places.Autocomplete(input);
google.maps.event.addListener(places,
'place_changed'
,
function
() {
var
place = places.getPlace();
var
address = place.formatted_address;
var
latitude = place.geometry.location.A;
var
longitude = place.geometry.location.F;
var
mesg =
"Address: "
+ address;
mesg +=
"nLatitude: "
+ latitude;
mesg +=
"nLongitude: "
+ longitude;
console.log(place);
GetLatlong();
});
}
//根据google places搜索api获取经纬度
function
GetLatlong()
{
var
geocoder =
new
google.maps.Geocoder();
var
address = document.getElementById(
'address_search'
).value;
geocoder.geocode({
'address'
: address },
function
(results, status) {
if
(status == google.maps.GeocoderStatus.OK) {
var
latitude = results[0].geometry.location.lat();
var
longitude = results[0].geometry.location.lng();
alert(latitude+
","
+longitude);
}
})
}
</script>
<script async defer
src=
"https://maps.googleapis.com/maps/api/js?key=xxxxx&libraries=places&callback=initMap"
>
</script>
|