qualitum logo
Google Latitude och Maps

PHPportalen Forum Index » PHP
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
Cornelius



Medlem i: 3387 dagar

Status: Offline



#724400
Inlägg Skrivet: 2012-06-25 18:00      Ämne: Google Latitude och Maps Citera

Jag försöker skapa en Google Map som hämtar positionen från mitt Google Latitude. Jag har hittat en kod som ska hämta koordinaterna från en json-feed men det vill inte funka. Är det någon här som gjort något liknande??

Innehållet i JSON-feeden ser ut som följande:
KOD:
1:
{ "type": "FeatureCollection",
2:
"features": [
3:
{ "type": "Feature",
4:
"geometry": {"type": "Point", "coordinates": [16.351309, 56.664024]},
5:
"properties": {
6:
"id": "-XXXXXXXXXXXXXXXX",
7:
"accuracyInMeters": 1414,
8:
"timeStamp": 1340556973,
9:
"reverseGeocode": "Kalmar, Sweden",
10:
"photoUrl": "http://www.google.com/latitude/apps/badge/api?type=photo&photo=qna5IDgBAAA.LYZVSU6qo8Jxvasg5gJfbA.cul0-ZAOZvvDTyx6T5qgHQ",
11:
"photoWidth": 96,
12:
"photoHeight": 96,
13:
"placardUrl": "http://www.google.com/latitude/apps/badge/api?type=photo_placard&photo=qna5IDgBAAA.LYZVSU6qo8Jxvasg5gJfbA.cul0-ZAOZvvDTyx6T5qgHQ&moving=true&stale=true&lod=1&format=png",
14:
"placardWidth": 56,
15:
"placardHeight": 59
16:
}
17:
}
18:
]
19:
}


PHP-koden:
PHP:
1:
 $url 'http://www.google.com/latitude/apps/badge/api?user='.$userId.'&type=json';
2:
 
3:
   // We get the content
4:
   $content file_get_contents$url );
5:
 
6:
   // We convert the JSON to an object
7:
   $json json_decode$content );
8:
 
9:
   $coord $json->features[0]->geometry->coordinates;
10:
   $timeStamp $json->features[0]->properties->timeStamp;
11:
 
12:
   if ( ! $coord 
13:
   exit('This user doesn\'t exist.');
14:
 
15:
      $date date'd/m/Y H:i:s'$timeStamp );
16:
      $lat $coord[1];
17:
      $lon $coord[0]; 


Javascript för att visa karta (just nu har den hårdkodade koordinater, det är dessa jag vill hämta från Latitude):

KOD:
1:
$url = 'http://www.google.com/latitude/apps/badge/api?user='.$userId.'&type=json';
2:
 
3:
   // We get the content
4:
   $content = file_get_contents( $url );
5:
 
6:
   // We convert the JSON to an object
7:
   $json = json_decode( $content );
8:
 
9:
   $coord = $json->features[0]->geometry->coordinates;
10:
   $timeStamp = $json->features[0]->properties->timeStamp;
11:
 
12:
   if ( ! $coord )
13:
   exit('This user doesn\'t exist.');
14:
 
15:
      $date = date( 'd/m/Y H:i:s', $timeStamp );
16:
      $lat = $coord[1];
17:
      $lon = $coord[0];


Några idéer? Kodexempel och förslag?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 2814 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#724402
Inlägg Skrivet: 2012-06-25 19:09      Ämne: Citera

Så hur har du felsökt?
Har du felsökt ditt PHP skript, får du det du tror att du ska få?
Får du in värdena i ditt javascript?

Din felbeskrivning "men vill inte funka....." är ju helt fanatiskt.
Lägg ner lite energi på att beskriva vad du vill ha, vad du inte får eller vart det går snett.
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Cornelius



Medlem i: 3387 dagar

Status: Offline



#724403
Inlägg Skrivet: 2012-06-25 20:08      Ämne: Citera

Det som händer är att jag får NULL till svars när jag ekar ut innehåller i $content så det är antagligen vid "file_get_contents" det går fel.

Jag efterlyste någon som har jobbat med Latitude API och Google Maps API och har gjort något liknande. Måste finnas någon tycker jag.

Undanber mig besservisser svar om min frågeformulering, tack. Jag är ingen super-PHP-programmerare.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Wedge
Administratör



Medlem i: 3949 dagar
Från: Järfälla
Status: Offline



#724406
Inlägg Skrivet: 2012-06-25 21:53      Ämne: Citera

Cornelius skrev:
Undanber mig besservisser svar om min frågeformulering, tack.
Besserwisser, heter det.

På en verkstad vill mekanikerna veta varför bilen är där.
Hos en läkare beskriver patienterna sina symptom och problem.
På PHPportalen säger man att det inte funkar...?
 

_________________
Qualitum Webbhotell | Gomoku.se | PHP6.se
Skådebröd är fullt av optisk fiber
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
Cornelius



Medlem i: 3387 dagar

Status: Offline



#724407
Inlägg Skrivet: 2012-06-25 22:12      Ämne: Citera

Men nu har jag ju beskrivit var det går fel. Kan vi lägga ner och fokusera på problemet?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Wedge
Administratör



Medlem i: 3949 dagar
Från: Järfälla
Status: Offline



#724409
Inlägg Skrivet: 2012-06-25 22:49      Ämne: Citera

Cornelius skrev:
Men nu har jag ju beskrivit var det går fel. Kan vi lägga ner och fokusera på problemet?
Samtidigt som du till slut gav en ordentlig felbeskrivning valde du att ge en känga till Azreal. Fint.
Beträffande själva problemet har jag inget att tillföra.
 

_________________
Qualitum Webbhotell | Gomoku.se | PHP6.se
Skådebröd är fullt av optisk fiber
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
Azreal
Administratör



Medlem i: 2814 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#724410
Inlägg Skrivet: 2012-06-25 23:00      Ämne: Citera

Börja uppifrån och ner testa innehållet i dina variabler, får du förväntat data tillbaka ifrån file_get_contents() t.ex.
Har du full felrapportering på?
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Cornelius



Medlem i: 3387 dagar

Status: Offline



#724411
Inlägg Skrivet: 2012-06-25 23:17      Ämne: Citera

Warning: file_get_contents() [function.file-get-contents]: http:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 25

Warning: file_get_contents(http://www.google.com/latitude/apps/badge/api?granularity=best&user=-3436951879158881969&type=json) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 25

Notice: Trying to get property of non-object in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 30

Notice: Trying to get property of non-object in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 30

Notice: Trying to get property of non-object in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 30

Notice: Trying to get property of non-object in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 31

Notice: Trying to get property of non-object in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 31

Notice: Trying to get property of non-object in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 31
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 2814 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#724412
Inlägg Skrivet: 2012-06-25 23:30      Ämne: Citera

Ja där har du svaret, högst upp. Titta på curl som en ersättare kanske.
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Cornelius



Medlem i: 3387 dagar

Status: Offline



#724413
Inlägg Skrivet: 2012-06-25 23:36      Ämne: Citera

Tack! Nu är jag som sagt inget PHP-proffs och vet inte riktigt hur man använder "curl"-funktionerna. Är det curl_multi_getcontent() jag använder för att få tag på informationen?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 2814 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#724414
Inlägg Skrivet: 2012-06-25 23:39      Ämne: Citera

Vet inte, men läs manualen så kan du nog hitta exempel på hur du kan göra, alternativt läsa manualen för fil_get_contents() där brukar det finnas färdiga exempel på hur man kan bete sig när serverkonfigen ställer till det.
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Cornelius



Medlem i: 3387 dagar

Status: Offline



#724415
Inlägg Skrivet: 2012-06-25 23:44      Ämne: Citera

Ja, nu fick jag ut följande och det är "coordinates" jag vill komma åt. Har du tips på hur jag får ut latitude och longitude i varsin variabel?

{ "type": "FeatureCollection", "features": [ { "type": "Feature", "geometry": {"type": "Point", "coordinates": [16.3539309, 56.6672169]}, "properties": { "id": "-3436951879158881969", "accuracyInMeters": 30, "timeStamp": 1340657291, "reverseGeocode": "Kalmar, Sweden", "photoUrl": "http://www.google.com/latitude/apps/badge/api?type=photo&photo=tGmaJTgBAAA.LYZVSU6qo8Jxvasg5gJfbA.1gvRQ6KFOMem15AvnVYlOg", "photoWidth": 96, "photoHeight": 96, "placardUrl": "http://www.google.com/latitude/apps/badge/api?type=photo_placard&photo=tGmaJTgBAAA.LYZVSU6qo8Jxvasg5gJfbA.1gvRQ6KFOMem15AvnVYlOg&moving=false&stale=true&lod=1&format=png", "placardWidth": 56, "placardHeight": 59 } } ] }

Warning: json_decode() expects parameter 1 to be string, array given in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 39

Notice: Trying to get property of non-object in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 41

Notice: Trying to get property of non-object in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 41

Notice: Trying to get property of non-object in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 41

Notice: Trying to get property of non-object in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 42

Notice: Trying to get property of non-object in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 42

Notice: Trying to get property of non-object in /www/webvol20/6r/h70xcoudszl784l/jeppe.me/public_html/gps/gmap.php on line 42

Min kod ser ut som följer:
PHP:
1:
 $url 'http://www.google.com/latitude/apps/badge/api?granularity=best&user=-'.$userId.'&type=json';
2:
 
3:
   // We get the content
4:
   //$content = file_get_contents( $url );
5:
   
6:
   $ch curl_init($url);
7:
 
8:
   // Execute
9:
   
10:
   echo "<br />"
11:
   curl_exec($ch);
12:
   echo "<br />";
13:
   
14:
   $content curl_getinfo($ch);
15:
    
16:
    
17:
   // We convert the JSON to an object
18:
   $json json_decode$content );
19:
 
20:
   $coord $json->features[0]->geometry->coordinates;
21:
   $timeStamp $json->features[0]->properties->timeStamp;
22:
 
23:
      $date date'd/m/Y H:i:s'$timeStamp );
24:
      $lat $coord[1];
25:
      $lon $coord[0]; 
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 2814 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#724416
Inlägg Skrivet: 2012-06-25 23:49      Ämne: Citera

Läs i manualen vad funktionerna du använder returnerar, läs dina felmeddelanden, jobba därefter.
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Cornelius



Medlem i: 3387 dagar

Status: Offline



#724417
Inlägget är accepterad som det rätta svaret Skrivet: 2012-06-26 00:07      Ämne: Citera

Som jag har letat efter en sån här lösning. Om det nu finns fler som hade samma problem som jag så ger jag er lösningen här.

I kombination med koden jag gav tidigare:

PHP:
1:
 function get_json($url) {
2:
    $ch curl_init();
3:
 
4:
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
5:
    curl_setopt($chCURLOPT_URL$url);
6:
 
7:
    $data curl_exec($ch);
8:
    $resultCode curl_getinfo($chCURLINFO_HTTP_CODE);
9:
    curl_close($ch);
10:
 
11:
    if ($resultCode == 200) {
12:
        return json_decode($data);
13:
    } else {
14:
        return false;
15:
    }
16:
}
17:
   $json get_json('http://www.google.com/latitude/apps/badge/api?granularity=best&user=-'.$userId.'&type=json'); 
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » PHP
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic
qualitum logo