Reverse Geocoding With Google Map API And PHP To Get Nearest Location Using Lat,Long coordinates

前端 未结 1 1331
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-02 21:26

I need a function to get an nearest address or city from coordinates(lat,long) using google map api reverse geocoding and php... Please give some sample code

相关标签:
1条回答
  • 2020-12-02 22:01

    You need to use the getLocations method on the GClientGeocoder object in the Google Maps API

    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: Ok. You are doing this stuff server side. This means you need to use the HTTP Geocoding service. To do this you will need to make an HTTP request using the URL format described in the linked article. You can parse the HTTP response and pull out the address:

    // 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. The Google Maps terms of service explicitly states that geocoding data without putting the results on a Google Map is prohibited.

    0 讨论(0)
提交回复
热议问题