Die Maps Google API gibt falsche Koordinaten zurück
P粉773659687
P粉773659687 2023-07-26 15:39:29
0
1
453
<p>Ich verwende diese PHP-Funktion, um die Koordinaten zu erhalten, aber sie sind immer falsch. Manchmal nah, manchmal weit weg vom richtigen Ort. </p> <pre class="brush:php;toolbar:false;">function getCoordinates($address, $city, $postalCode, $region, $province) { $url = 'https://maps.googleapis.com/maps/api/geocode/json?'; $params = array( 'address' => urlencode($address), 'components' => urlencode("locality:$city|administrative_area:$province"), 'key' => 'my_key' ); $url .= http_build_query($params); $response = file_get_contents($url); $data = json_decode($response, true); if ($data['status'] === 'OK') { $latitude = $data['results'][0]['geometry']['location']['lat']; $longitude = $data['results'][0]['geometry']['location']['lng']; return array('latitude' => $latitude, 'longitude' => $longitude); } anders { falsch zurückgeben; } }</pre> <p>Ich habe versucht, die Parameter auf viele Arten zu verwenden, habe aber immer das gleiche Ergebnis erhalten: falsche Koordinaten. </p><p>Die Testparameter lauten wie folgt:</p><p><br /></p> <pre class="brush:php;toolbar:false;">$address = 'VIA DUCHESSA JOLANDA' $city = 'MONCRIVELLO' $province = 'VC' $postalcode = '13040'</pre> <p>Das Ergebnis ist Breitengrad: 45,0742756, Längengrad: 7,6613655</p><p>Der richtige Wert sollte sein: Breitengrad: 45,3307055, Längengrad: 7,9960788</p><p><strong>< ; /strong></p>
P粉773659687
P粉773659687

Antworte allen(1)
P粉386318086

很抱歉,使用这个新版本后,坐标看起来是正确的。

function getCoordinates1($address, $city, $postalCode, $region, $province)
{
    $url = 'https://maps.googleapis.com/maps/api/geocode/json?';
    $addressString = "$address, $postalCode, $city, $province, $region";
    $params = array(
        'address' => urlencode($addressString),
        'key' => 'my-code'
    );
    $url .= http_build_query($params);
    $response = file_get_contents($url);
    $data = json_decode($response, true);
    if ($data['status'] === 'OK') {
        $latitude = $data['results'][0]['geometry']['location']['lat'];
        $longitude = $data['results'][0]['geometry']['location']['lng'];
        return array('latitude' => $latitude, 'longitude' => $longitude);
    } else {
        return false;
    }
}
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!