Avatar billede michaeltryl Seniormester
03. december 2017 - 11:59 Der er 6 kommentarer og
1 løsning

Km fra adresse til adresse

Hej
Er det på nogen måde muligt med php eller på anden vis at hente antal km fra en adresse til en anden tænker om det kan hentes fra google maps eller noget :)
Avatar billede olsensweb.dk Ekspert
03. december 2017 - 12:13 #1
hvis du kan finde/har addresernes Latitude og Longitude, kan du kigge på
http://www.geodatasource.com/developers/php
Avatar billede michaeltryl Seniormester
03. december 2017 - 12:33 #2
Ok det prøver jeg at kigge på. Jeg kan finde den ene adresse, da den er kem&t, mens den anden er brugerinput :)
Avatar billede olsensweb.dk Ekspert
03. december 2017 - 13:18 #3
her er nongle link du kan kigge på
            ref https://www.google.dk/search?q=php+address+to+latitude+longitude
            https://daveismyname.blog/get-longitude-and-latitude-from-an-address-with-php-and-google-maps-api
            https://stackoverflow.com/questions/3807963/how-to-get-longitude-and-latitude-of-any-address
            https://stackoverflow.com/questions/18595830/google-maps-converting-address-to-latitude-longitude-php-backend
            https://gist.github.com/madeinnordeste/3250820
            http://talkerscode.com/webtricks/get-address-longitude-and-latitude-using-php-and-google-map-api.php
                       
           
            grundlæggende skal du bare slå addressen op på gmaps api, og decode det json du får retur
eks på opslag af pulsen 8 (roskilde tekniske skole)
http://maps.google.com/maps/api/geocode/json?address=pulsen%208&sensor=false&region=danmark
hvis du får flere poster retur skal du præsiserer din søgning noget mere
           
ellers kig i documentationen
ref https://developers.google.com/maps/documentation/
https://developers.google.com/maps/documentation/geocoding/start
Avatar billede olsensweb.dk Ekspert
03. december 2017 - 13:20 #4
nongle  => nogle
her ville det være rart lige at kunne redigere sit indlæg som man kan på http://www.udvikleren.dk/
Avatar billede michaeltryl Seniormester
03. december 2017 - 15:29 #5
Tak for dine bud. Håber at kan kigge på det i morgen :)
Avatar billede michaeltryl Seniormester
05. december 2017 - 13:51 #6
følgende virker for mig
    function get_coordinates($city, $street, $province)
    {
        $address = urlencode($city.','.$street.','.$province);
        $url = "http://maps.google.com/maps/api/geocode/json?address=$address&sensor=false&region=denmark";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        $response = curl_exec($ch);
        curl_close($ch);
        $response_a = json_decode($response);
        $status = $response_a->status;

        if ( $status == 'ZERO_RESULTS' )
        {
            return FALSE;
        }
        else
        {
            $return = array('lat' => $response_a->results[0]->geometry->location->lat, 'long' => $long = $response_a->results[0]->geometry->location->lng);
            return $return;
        }
    }

    //finder afstand og køretid mellem 2 adresser
    function GetDrivingDistance($lat1, $lat2, $long1, $long2)
    {
        $url = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=".$lat1.",".$long1."&destinations=".$lat2.",".$long2."&mode=driving&language=pl-PL";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        $response = curl_exec($ch);
        curl_close($ch);
        $response_a = json_decode($response, true);
        $dist = $response_a['rows'][0]['elements'][0]['distance']['text'];
        $time = $response_a['rows'][0]['elements'][0]['duration']['text'];

        return array('distance' => $dist, 'time' => $time);
    }

$dist = GetDrivingDistance($coordinates1['lat'], $coordinates2['lat'], $coordinates1['long'], $coordinates2['long']);   
    $km = $dist['distance'];
    $tid = $dist['time'];

tak for hjælpen
Avatar billede michaeltryl Seniormester
05. december 2017 - 18:06 #7
Hej igen
Jeg har lige opdaget at det script ikke er så stabilt som først antaget.
Kan du evt. se hvad jeg kan gøre.
Det er ikke hver gang den viser køre afstand og tid, men nærmere hver 3. eller 4. gang :-)
Har kigget på de andre sider du postede, men synes ikke lige der er noget brugbart
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester