Get the address after clicking on the map

I need to get the address and coordinates after clicking on the map, I use google map api v3, I restored the coordinates on the inputs, but I also need arddress points.

function initialize() { var myOptions = { center: new google.maps.LatLng(36.835769, 10.247693 ), zoom: 15, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); google.maps.event.addListener(map, 'click', function(event) { placeMarker(event.latLng); }); var marker; function placeMarker(location) { if(marker){ //on vérifie si le marqueur existe marker.setPosition(location); //on change sa position }else{ marker = new google.maps.Marker({ //on créé le marqueur position: location, map: map }); } latitude.value=location.lat(); longitude.value=location.lng(); } } 

I used this PHP script to get the address, but if I don’t know how to use it in javascript? Can I use javascript to get the address?

 <?php $url = 'http://where.yahooapis.com/geocode?location=40.714224,-73.961452&gflags=R&flags=J'; $response = json_decode(file_get_contents($url)); $location = $response->ResultSet->Results[0]; foreach ((array) $location as $key => $value) { if($key == 'city') $city = $value; if($key == 'country') $country = $value; if($key == 'street') $street = $value; } echo "Street: ".$street."<br>"; echo "City: ".$city; echo "<br/>Country: ".$country; ?> 
+7
source share
1 answer

Here is a simple example of retrieving an address. The results can be complicated (this is an array from what I saw in it as an arbitrary combination of cross streets, neighborhoods, state and country. I did not see the template)

I use only the first row of results, which is a combination of street, city, state, country. Read the details here:

https://developers.google.com/maps/documentation/javascript/geocoding#GeocodingResults

Demo here: http://jsfiddle.net/eB2RX/1/

I noticed that the resolution is not very good, I mean that in the USA you get street numbers, but not in Tunisia. I saw only street names.

Code Part:

  var map; var geocoder; var mapOptions = { center: new google.maps.LatLng(0.0, 0.0), zoom: 2, mapTypeId: google.maps.MapTypeId.ROADMAP }; function initialize() { var myOptions = { center: new google.maps.LatLng(36.835769, 10.247693 ), zoom: 15, mapTypeId: google.maps.MapTypeId.ROADMAP }; geocoder = new google.maps.Geocoder(); var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); google.maps.event.addListener(map, 'click', function(event) { placeMarker(event.latLng); }); var marker; function placeMarker(location) { if(marker){ //on vérifie si le marqueur existe marker.setPosition(location); //on change sa position }else{ marker = new google.maps.Marker({ //on créé le marqueur position: location, map: map }); } document.getElementById('lat').value=location.lat(); document.getElementById('lng').value=location.lng(); getAddress(location); } function getAddress(latLng) { geocoder.geocode( {'latLng': latLng}, function(results, status) { if(status == google.maps.GeocoderStatus.OK) { if(results[0]) { document.getElementById("address").value = results[0].formatted_address; } else { document.getElementById("address").value = "No results"; } } else { document.getElementById("address").value = status; } }); } } 
+17
source

All Articles