setDebug(true); $resp = $cli->send($msg); if (!$resp) { echo 'Communication error: ' . $cli->errstr; die(); } if (!$resp->faultCode()) { //header('Content-type: application/vnd.google-earth.kml+xml'); header('Content-type: application/kml'); header('Content-Disposition: attachment; filename="php-gtk-developers.kml"'); $dom = new DOMDocument('1.0', 'utf-8'); $main_kml = $dom->createElement('kml'); {$main_kml->setAttribute('xmlns', 'http://earth.google.com/kml/2.1');} $document = $dom->createElement('Document'); $name = $dom->createElement('name', 'PHP-GTK developers'); $folder = $dom->createElement('Folder'); $folder_name = $dom->createElement('name', 'php-gtk.eu'); $folder_vis = $dom->createElement('visibility', '1'); $dom->appendChild($main_kml); $main_kml->appendChild($document); $document->appendChild($name); $document->appendChild($folder); $folder->appendChild($folder_name); $folder->appendChild($folder_vis); $val = $resp->value(); $data = XML_RPC_decode($val); foreach ($data as $user => $coords) { if ($coords[0] && $coords[1]) { $placemark = $dom->createElement('Placemark'); $pm_name = $dom->createElement('name', $user); $pm_vis = $dom->createElement('visibility', '1'); $pm_style = $dom->createElement('styleUrl', '#default+icon=http://maps.google.com/mapfiles/kml/pal3/icon63.png'); $pm_point = $dom->createElement('Point'); $coords = $dom->createElement('coordinates', ($coords[1]*1).','.($coords[0]*1).',0'); $folder->appendChild($placemark); $placemark->appendChild($pm_name); $placemark->appendChild($pm_vis); $placemark->appendChild($pm_style); $placemark->appendChild($pm_point); $pm_point->appendChild($coords); } } echo $dom->saveXML(); } else { /** * Display problems that have been gracefully caught and * reported by the xmlrpc.php script */ echo '
'.PHP_EOL; echo 'Fault Code: ' . $resp->faultCode() . "\n"; echo 'Fault Reason: ' . $resp->faultString() . "\n"; } ?>