Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z wygenerowaniem kml
Forum PHP.pl > Forum > PHP
myro6
Witam wszystkich próbuje zrobić plik kml za pomocą przykładowego kodu z Google Earth, zawartość pliku jest poprawna jednak marker nie otwiera się w programie problem polega na tym że plik kml zaczyna się od trzeciego a nie pierwszego wiersza, używam krasnal serv. Jeśli ktoś wie co jest nie tak będę wdzięczny za pomoc
  1. <?php
  2.  
  3. header('Content-type: application/vnd.google-earth.kml+xml');
  4. require('phpsqlajax_dbinfo.php');
  5. // Opens a connection to a MySQL server.
  6. $connection = mysql_connect ($server, $username, $password);
  7. if (!$connection)
  8. {
  9. die('Not connected : ' . mysql_error());
  10. }
  11.  
  12. // Sets the active MySQL database.
  13. $db_selected = mysql_select_db($database, $connection);
  14. if (!$db_selected)
  15. {
  16. die ('Can\'t use db : ' . mysql_error());
  17. }
  18.  
  19. // Selects all the rows in the markers table.
  20. $query = 'SELECT * FROM markers WHERE 1';
  21. $result = mysql_query($query);
  22. if (!$result)
  23. {
  24. die('Invalid query: ' . mysql_error());
  25. }
  26. // Creates an array of strings to hold the lines of the KML file.
  27. $kml = array('<?xml version="1.0" encoding="UTF-8"?>');
  28. $kml[] = '<kml xmlns="http://earth.google.com/kml/2.1">';
  29. $kml[] = ' <Document>';
  30. $kml[] = ' <Style id="restaurantStyle">';
  31. $kml[] = ' <IconStyle id="restuarantIcon">';
  32. $kml[] = ' <Icon>';
  33. $kml[] = ' <href>http://maps.google.com/mapfiles/kml/pal2/icon63.png</href>';
  34. $kml[] = ' </Icon>';
  35. $kml[] = ' </IconStyle>';
  36. $kml[] = ' </Style>';
  37. $kml[] = ' <Style id="barStyle">';
  38. $kml[] = ' <IconStyle id="barIcon">';
  39. $kml[] = ' <Icon>';
  40. $kml[] = ' <href>http://maps.google.com/mapfiles/kml/pal2/icon27.png</href>';
  41. $kml[] = ' </Icon>';
  42. $kml[] = ' </IconStyle>';
  43. $kml[] = ' </Style>';
  44.  
  45. // Iterates through the rows, printing a node for each row.
  46. while ($row = @mysql_fetch_assoc($result))
  47. {
  48. $kml[] = ' <Placemark id="placemark' . $row['id'] . '">';
  49. $kml[] = ' <name>' . htmlentities($row['name']) . '</name>';
  50. $kml[] = ' <description>' . htmlentities($row['address']) . '</description>';
  51. $kml[] = ' <styleUrl>#' . ($row['type']) .'Style</styleUrl>';
  52. $kml[] = ' <Point>';
  53. $kml[] = ' <coordinates>' . $row['lng'] . ',' . $row['lat'] . '</coordinates>';
  54. $kml[] = ' </Point>';
  55. $kml[] = ' </Placemark>';
  56.  
  57. }
  58.  
  59. // End XML file
  60. $kml[] = ' </Document>';
  61. $kml[] = '</kml>';
  62. $kmlOutput = join($kml ,"\n");
  63. //header('Content-type: application/vnd.google-earth.kml+xml');
  64. echo $kmlOutput;
  65.  
  66. ?>
exood
a wybiera ci dane z bazy normalnie?
jeżeli zakomentujesz require('phpsqlajax_dbinfo.php'); oraz połączenie z bazą i zapytanie (linie 4- 25) to plik jest poprawny, wiec rzuca ci błędem (albo coś printuje na ekranie) plik phpsqlajax_dbinfo.php albo fragment kodu odpowiedzialnego za połączenie z bazą i wykonanie zapytania
myro6
próbowałem ten sam kod na wamp server i i plik nie zaczyna się już od trzeciego wiersz tylko od drugiego nie mam pojęcia co jest grane
nospor
Co przez to rozumiesz, że się nie zaczyna? Pokaż może przykładowy wygenerowany plik
myro6
wywaliłem
  1. #
  2. require('phpsqlajax_dbinfo.php');
i wstawiłem kod z tego pliku bezpośrednio do skryptu teraz działa normalnie "Co przez to rozumiesz, że się nie zaczyna? Pokaż może przykładowy wygenerowany plik " plk kml zaczynał się dopiero od trzeciego wiersz a dwa pierwsz były puste.
  1.  
  2.  
  3. <?xml version="1.0" encoding="UTF-8"?>
  4. <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
  5. <Document>
  6. <name>b.php-43.kml</name>
  7. ...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.