Autor | Zpráva | ||
---|---|---|---|
vecerapl Profil |
#1 · Zasláno: 19. 5. 2011, 14:54:10 · Upravil/a: vecerapl
Ahoj,
nevím proč, ale google API nefunguje asi jak má. Poradí mě někdo, kde dělám chybu? Do $misto přes cyklování posílám¨zhruba 200 adres a potřebuji pro mě vytvořit GPS souřadnici. Bohužel u většiny adres to GPS vůbec nepřiřadí. Když ale adresu vložím do google maps, tak v pohodě to místo najde, ale GPS to přes jejich API nepřidelí. Nevíte proč? Klatovská 18, Plzeň (0|0) Hotel Palace Club, Okružní 16, Špindlerův Mlýn 54351 (0|0) Malletova 1141, Praha 9 (50.1011002|14.4838663) Velká Pláň 141, Pec pod Sněžkou 542 21 (0|0) atd. Můj script pro generování GPS: $misto = urlencode(utf8_encode($misto)); $gps_url = "http://maps.googleapis.com/maps/api/geocode/xml?address=".$misto."&sensor=false"; $ch = curl_init(); $timeout = 15; // set to zero for no timeout curl_setopt($ch, CURLOPT_URL, $gps_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $gps_curl = curl_exec($ch); curl_close($ch); $xml_gps = simplexml_load_string($gps_curl); $gps_x = $xml_gps->result->geometry->location->lat; $gps_y = $xml_gps->result->geometry->location->lng; |
||
__construct Profil |
#2 · Zasláno: 19. 5. 2011, 15:02:54 · Upravil/a: __construct
vecerapl:
Vyhoď to zbytočné utf8_encode() , zmeň simplexml_load_string() na simplexml_load_file() a bude to fungovať.
|
||
vecerapl Profil |
#3 · Zasláno: 19. 5. 2011, 15:06:46 · Upravil/a: vecerapl
Bez toho to právě nebude fungovat vůbec :) Jinak otestoval jsem to a nevygenerovalo to ani jedno GPS.
Abych to upřesnil, XML zpracovávám přes CURL. Script jsem doplnil. |
||
__construct Profil |
#4 · Zasláno: 19. 5. 2011, 15:10:37 · Upravil/a: __construct
vecerapl:
V akom kódovaní máš uložený ten skript? Mne toto funguje: <pre> <?php $misto = "Lipno 5, Líšťany"; $misto = urlencode($misto); $gps_url = "http://maps.googleapis.com/maps/api/geocode/xml?address=".$misto."&sensor=false"; $xml_gps = simplexml_load_file($gps_url); $gps_x = $xml_gps->result->geometry->location->lat; $gps_y = $xml_gps->result->geometry->location->lng; echo $gps_x.PHP_EOL; echo $gps_y.PHP_EOL; cURL . Nefunguje Ti to preto, že simplexml_load_string() strkáš ako parameter $gps_url namiesto $gps_curl .
|
||
vecerapl Profil |
#5 · Zasláno: 19. 5. 2011, 15:19:40 · Upravil/a: vecerapl
Beru zpět. Script funguje a vše jsem udělal jak jsi mě napsal.
ALE ... né všechny adresy to bere. Například nevezme to: Vodičkova 36, Praha 1 Dlouhá 24, Praha 1 Na Florenci 19, Praha 1 Nitrianska 24, Piešťany Jinak nyní to již ukazuje více GPS. PS: Aby to nebylo cyklováním, protože když si to město zadam samotné, tak to GPS vygeneruje. Když to použiji do cyklování s 200 adresami, tak to některé GPS prostě nevygeneruje. |
||
__construct Profil |
#6 · Zasláno: 19. 5. 2011, 15:27:12 · Upravil/a: __construct
vecerapl:
„Ten tvůj PHP script mě nefunguje vůbec“ Niečo robíš zle — ten skript funguje bez akých koľvek dodatočných nastavení: <pre> <?php $misto = "Hotel Palace Club, Okružní 16, Špindlerův Mlýn 54351"; $misto = urlencode($misto); $gps_url = "http://maps.googleapis.com/maps/api/geocode/xml?address=".$misto."&sensor=false"; $xml_gps = simplexml_load_file($gps_url); $gps_x = $xml_gps->result->geometry->location->lat; $gps_y = $xml_gps->result->geometry->location->lng; echo $gps_x.PHP_EOL; echo $gps_y.PHP_EOL; echo "<hr>"; var_export($xml_gps); |
||
Časová prodleva: 13 let
|
0