Мне нужна функция, чтобы получить ближайший адрес или город из координат (lat, long) с помощью google map api reverse geocoding и php … Пожалуйста, дайте пример кода
Вам нужно использовать метод getLocations для объекта GClientGeocoder в API Карт Google
var point = new GLatLng (43,-75); var geocoder = new GClientGeocoder(); geocoder.getLocations (point, function(result) { // access the address from the placemarks object alert (result.address); });
EDIT : Хорошо. Вы делаете это на стороне сервера. Это означает, что вам нужно использовать службу геокодирования HTTP . Для этого вам нужно будет сделать HTTP-запрос, используя формат URL, описанный в связанной статье. Вы можете разобрать ответ HTTP и вытащить адрес:
// set your API key here $api_key = ""; // format this string with the appropriate latitude longitude $url = 'http://maps.google.com/maps/geo?q=40.714224,-73.961452&output=json&sensor=true_or_false&key=' . $api_key; // make the HTTP request $data = @file_get_contents($url); // parse the json response $jsondata = json_decode($data,true); // if we get a placemark array and the status was good, get the addres if(is_array($jsondata )&& $jsondata ['Status']['code']==200) { $addr = $jsondata ['Placemark'][0]['address']; }
NB Условия использования Google Maps явно указывают, что данные геокодирования без размещения результатов на карте Google запрещены.