Vinnaren i pepparkakshustävlingen!
2016-06-13, 14:09
  #1
Medlem
Hej,

Jag försöker hämta koordinater med hjälp av Google's API:

https://developers.google.com/maps/d...ntro#geocoding

Så här långt har jag kommit:
Kod:
<?php
require_once('../db.php');


$sqlQuery mysql_query("SELECT `County` FROM `ManualInsert_Infectious_Disease_Cases_by_County`");


/* Fetch county */

while($rows mysql_fetch_array($sqlQuery))
{

   
$countyArr $rows['County'];

}

/* Call google API and save coordinates for each county */

'https://maps.googleapis.com/maps/api/geocode/JSON?'.$countyArr[i].',+CA'



/* Create columns('lat'),('long') IF not exist and update columns ('lat'),('long')*/
   
?>
Det är första gången jag gör ett API-call och samtidigt loopar igenom en array,
så jag har lite svårt att komma vidare.
Citera
2016-06-13, 23:10
  #2
Medlem
Afros avatar
Du måste skaffa en API nyckel, som du gör här

https://developers.google.com/maps/d...ng/get-api-key

något liknade kanske

Kod:
<?php 
require_once('../db.php');
 
$api_key = "din nyckel.."

$sqlQuery = mysql_query("SELECT `County` FROM `ManualInsert_Infectious_Disease_Cases_by_County`"); 


/* Fetch county */ 

while($rows = mysql_fetch_array($sqlQuery))  { 

    $countyArr = $rows['County']; 

    /* Call google API and save coordinates for each county */ 

    $json = get_file_contents("https://maps.googleapis.com/maps/api/geocode/json?address=$countyArr&key=$api_key");
    $obj = json_decode($json);

    if ($obj->status == "OK") {

        $lat = $obj->results->location->lat;
        $lng = $obj->results->location->lng;

        osv...

        /* Create columns('lat'),('long') IF not exist and update columns ('lat'),('long')*/ 
    }
}

?>
Citera
2016-06-14, 19:54
  #3
Medlem
Citat:
Ursprungligen postat av Afro
Du måste skaffa en API nyckel, som du gör här

Det där borde fungera!

Men eftersom att min hosting verkar ha avaktiverad file_get_contents(), så har jag försökt använda mig av cURL istället.
Men jag får ändå meddelandet "fail" när jag försöker hämta JSON datan.

Kod:
<?php 
    
    
require_once('../db.php');
    
$api_key "somekey";
    
$sqlQuery mysql_query("SELECT `County` FROM `ManualInsert_Infectious_Disease_Cases_by_County`"); 
    
$ch curl_init();
    
    
    
/* Fetch county */ 
    
    
while($rows mysql_fetch_array($sqlQuery))  { 
        
$countyArr $rows['County']; 
    
        
        
        
/* Call google API and save coordinates for each county */ 
        
        
        
        
curl_setopt ($chCURLOPT_URL"https://maps.googleapis.com/maps/api/geocode/json?address=".$countyArr.",+CA&key=".$api_key."");
        
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
        
$jsoncurl_exec($chtrue);
        
$obj json_decode($json);
        
        if (
$obj->status == "OK") {
            
$lat $obj->results->location->lat;
                
$lng $obj->results->location->lng;
        
                echo 
$lat;
        
                
/* Create columns('lat'),('long') IF not exist and update columns ('lat'),('long')*/ 
        
}
        else{
            echo 
"fail";
            
        }
        
    }
    
curl_close($ch);
?>

Jag har provat att manuellt gå till API-anropet och då visas rätt JSON-data.
Även SQL förfrågan verkar fungera utan problem.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback