Обратно геокодиране с API на Google Map и PHP за получаване на най-близкото местоположение с помощта на координати Lat,Long

Имам нужда от функция за получаване на най-близкия адрес или град от координати (lat,long) с помощта на обратно геокодиране на google map api и php... Моля, дайте примерен код


person Murugesh    schedule 13.01.2010    source източник


Отговори (1)


Трябва да използвате метода getLocations на < обект href="http://code.google.com/apis/maps/documentation/reference.html#GClientGeocoder" rel="nofollow noreferrer">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);
    });

РЕДАКТИРАНЕ: Добре. Вие правите тези неща от страна на сървъра. Това означава, че трябва да използвате 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'];
}

N.B. Общите условия на Google Карти изрично посочва, че геокодирането на данни без поставяне на резултатите в Google Map е забранено.

person RedBlueThing    schedule 13.01.2010
comment
Благодаря. Имам нужда от кода в PHP, защото ще покажа адреса на географската ширина и дължина в отчетите като записи... моля, само аз.. - person Murugesh; 13.01.2010
comment
шефе, част от това да си програмист е способността да абстрахираш изходния код на твоя език. Google Location API е по същество еднакъв на всички използвани езици (включително синтаксиса GLatLng) - person Henrik P. Hessel; 13.01.2010
comment
@Cannonade: Не искам да отговарям само за да включа примерния код на php. Само намек: има много класове за обвивка на php за API на javascript. - person Henrik P. Hessel; 13.01.2010
comment
Благодаря Хенрик. Тези, които видях, просто изглежда приключват HTTP заявката. Ще публикувам мостра веднага щом имам възможност да я пробвам. Чувствайте се свободни да публикувате, ако имате време :). - person RedBlueThing; 13.01.2010
comment
Този код е много полезен за мен. Аз съм нов в php, така че бих искал да попитам как да преобразувам адресния език в друг? - person iremce; 22.12.2011
comment
Погледнете тук веднъж: developers.google.com/maps/documentation/ geocoding/ API е променен - person Parixit; 12.08.2013
comment
TY просто надграждане... $lat = $_SESSION['lat']; $lng = $_SESSION['lng']; $googleURL = 'maps.googleapis.com/maps/api/geocode/". $api_key; - person Carlos Galeano; 26.02.2019