Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Convertire indirizzi in coordinate

    Salve, come da titolo vorrei cercare di trasformare degli indirizzi in coordinate (lat e lon).
    Cercando qualche guida, mi sono imbattuto su un codice php, il quale però mi restituisce vari errori, i quali non trovo soluzioni.

    Questo è il codice php:


    codice:
    <?php
    $name = urlencode( 'FIRENZE' );
    $baseUrl = 'https://nominatim.openstreetmap.org/search/';
    $data = file_get_contents( "{$baseUrl}{$name}?format=json");
    $json = json_decode( $data );
    $lat = $json[0]->lat;
    $lon = $json[0]->lon;
    ?>
    var lat=<?php printf( '%0.3f', $lat ); ?>
    var lon=<?php printf( '%0.3f', $lon ); ?>
    <?php var_dump( $json[0] ); ?>





    Questi gli errori:

    Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Host sconosciuto. in C:\xampp\htdocs\prova.php on line 5

    Warning: file_get_contents(https://nominatim.openstreetmap.org/...?format=json): failed to open stream: php_network_getaddresses: getaddrinfo failed: Host sconosciuto. in C:\xampp\htdocs\prova.php on line 5

    Notice: Trying to get property 'lat' of non-object in C:\xampp\htdocs\prova.php on line 7

    Notice: Trying to get property 'lon' of non-object in C:\xampp\htdocs\prova.php on line 8
    var lat=0.000var lon=0.000NULL


    Qualche suggerimento ?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Il problema potrebbe dipendere dal fatto che di default la funzione file_get_contents() non funziona sul protocollo criptato https.
    Prova con cURL, una cosa di questo tipo
    Codice PHP:
    $name urlencode'FIRENZE' );
    $baseUrl 'https://nominatim.openstreetmap.org/search/';
    $ch curl_init();
    curl_setopt($chCURLOPT_HTTPGET,true);
    curl_setopt($chCURLOPT_URL$baseUrl.$name);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    $data curl_exec($ch);
    ... 

  3. #3
    Innanzitutto grazie per la risposta.

    Ho inserito nel codice il tuo suggerimento, ma mi da questo:

    Notice: Trying to get property 'lat' of non-object in C:\xampp\htdocs\prova.php on line 18

    Notice: Trying to get property 'lon' of non-object in C:\xampp\htdocs\prova.php on line 19
    var lat=0.000var lon=0.000NULL

    Ho provato a cercare soluzioni ma non ho trovato nulla. Grazie per la pazienza

    Questo è il codice con il tuo suggerimento

    codice:
    <?php
    
    
    $name = urlencode( 'FIRENZE' );
    $baseUrl = 'https://nominatim.openstreetmap.org/search/';
    $fine = '?format=json';
    
    
    
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HTTPGET,true);
    curl_setopt($ch, CURLOPT_URL, $baseUrl.$name.$fine);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($ch);
    //$data = file_get_contents( "{$baseUrl}{$name}?format=json");
    
    
    $json = json_decode( $data );
    
    
    
    
    $lat = $json[0]->lat;
    $lon = $json[0]->lon;
    ?>
    var lat=<?php printf( '%0.3f', $lat ); ?>
    var lon=<?php printf( '%0.3f', $lon ); ?>
    <?php var_dump( $json[0] ); ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.