L'API Google Maps renvoie des coordonnées erronées
P粉773659687
P粉773659687 2023-07-26 15:39:29
0
1
456
<p>J'utilise cette fonction PHP pour obtenir les coordonnées mais elles sont toujours fausses. Parfois proche, parfois loin du bon endroit. </p> <pre class="brush:php;toolbar:false;">fonction getCoordonnées($adresse, $ville, $postalCode, $région, $province) { $url = 'https://maps.googleapis.com/maps/api/geocode/json?'; $params = tableau( 'adresse' => codeurl($adresse), 'composants' => urlencode("localité:$ville|administrative_area:$province"), 'clé' => 'ma_clé' ); $url .= http_build_query($params); $response = file_get_contents($url); $data = json_decode($response, true); si ($data['status'] === 'OK') { $latitude = $data['results'][0]['geometry']['location']['lat']; $longitude = $data['results'][0]['geometry']['location']['lng']; return array('latitude' => $latitude, 'longitude' => $longitude); } autre { renvoie faux ; } }</pré> <p>J'ai essayé d'utiliser les paramètres de plusieurs manières, mais j'ai toujours obtenu le même résultat : des coordonnées erronées. </p><p>Les paramètres de test sont les suivants :</p><p><br /></p> <pre class="brush:php;toolbar:false;">$address = 'VIA DUCHESSA JOLANDA' $ville = 'MONCRIVELLO' $province = 'VC' $code postal = '13040'</pre> <p>Le résultat est latitude : 45,0742756, longitude : 7,6613655</p><p>Le résultat correct devrait être : latitude : 45,3307055, longitude : 7,9960788</p><p><strong>< /strong></p>
P粉773659687
P粉773659687

répondre à tous(1)
P粉386318086

Désolé, les coordonnées semblent correctes après avoir utilisé cette nouvelle version.

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;
    }
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!