[Google Maps/KML] Soms wordt KML overlay niet weergegeven

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Anoniem: 142652

Topicstarter
Ik heb voor een site een locatietracker gemaakt zodat men kan zien waar ik zit. Gaat namelijk om een lange reis. De locaties (coordinaten) worden toegevoegd in een MySQL database en als ik de locatietracker ophaal dan wordt een KML bestand aangemaakt (http://7000uuravontuur.nl/coordinates/kml.php) en in een GMap2 toegevoegd als GGeoXml object. De map is hier te vinden: http://7000uuravontuur.nl/coordinates/map.php.

Het gekke is, meestal werkt de map prima en zie je de locaties en routes. Soms laad hij echter de overlay (de KML) niet. Je ziet de map dan wel maar de route en markers niet. Het valt me dan ook op dat de request naar gg.google.com langer duurt (ongeveer 4 seconden). Na wat zoekwerk blijft dit een bug te zijn in firebug echter heb ik het probleem ook met IE 8. Als het nou iets was wat steeds terugkomt dan was het waarschijnlijk makkelijker op te lossen maar 9/10 keer gaat het gewoon prima. Nog gekker is dat het met vlagen gaat. Als het op een moment fout gaat dan gaat het bij anderen ook fout. Gaat het goed dan gaat het ook gewoon goed bij anderen.

De KML is volgens mij prima in orde, in Google Earth werkt hij in ieder geval wel. Helemaal zeker ben ik er niet van omdat de KML tutorials per website verschillen en ook de elementen die gebruikt worden. Erg apart dus. Maar nogmaals, omdat hij soms wel werkt lijkt het probleem niet hier in te zitten.

Wat ik nu probeer te doen is controleren of de KML goed geladen wordt. Dit werkt echter ook niet goed. Dit is de broncode:
var geoXml = new GGeoXml("http://7000uuravontuur.nl/coordinates/kml.php?refresh=1254219755");
map.addOverlay(geoXml);
GEvent.addListener(geoXml, "load", function() {
if(!geoXml.hasLoaded() || !geoXml.loadedCorrectly()) {
window.alert("Fout tijdens KML ophalen!");
}
});
Zelfs al de URL niet klopt dan geeft hij aan dat de KML goed geladen is...

Heeft iemand enig idee wat het probleem kan zijn?

Acties:
  • 0 Henk 'm!

Anoniem: 111573

Misschien omdat ik Google Earth echt NOOIT gebruik en dat ik daarom een beetje achterloop hoor, maar bij het openen van je kml.php.kml krijg ik deze error:
Ophalen van NetwerkLink is mislukt. (http://www.everytrail.com/et_style.kml):
http: Forbidden

Do you want to stop fetching, continue to fetch with error notifications or continue fetching and ignore error notifications.
Ik ram uiteraard op Doorgaan en dan krijg ik de route van Heilloo via Alkmaar naar huis shirley te zien. Misschien kun je iets met die error? Het kan heel goed liggen aan mijn google earth hoor.

/edit: Google Earth ff geupdate, en die error krijg ik ook als ik je kml niet inlaad. Zal dus wel ergens anders aan liggen.

[ Voor 14% gewijzigd door Anoniem: 111573 op 29-09-2009 14:23 ]


Anoniem: 142652

Topicstarter
Dank voor je bericht. Daar lag het probleem echter niet aan. Die NetworkLink wordt gebruikt om Google Earth bijvoorbeeld periodiek te laten refreshen om actuele data te tonen. Dit heeft niets met Google Earth te maken.

Het enige wat ik me kan voorstellen is dat mijn KML bestand gewoon niet of niet goed werd gegeneerd. Ik heb dit vaak lopen debuggen maar zag geen fouten. Omdat de Google Maps API methoden om de KML file te controleren niet goed werktte (gaf altijd true aan terwijl het hele KML bestand niet bestond) kon ik het ook niet goed testen.

Ik heb het nu zonder een KML bestand gemaakt. Nu wordt alles direct uit de database in Javascript getoverd die door de client dus wordt uitgevoerd. Naast dat ik nu veel meer dingen zelf kan aanpassen (wat het dus mooier maakt) is het ook merkbaar sneller.

Issue is closed dus :)

Acties:
  • 0 Henk 'm!

  • Da Weef
  • Registratie: Januari 2004
  • Laatst online: 18-06 09:11
Ik had er nog even naar gekeken, maar volgens mij zag de kml er goed uit. Ik gebruik op een van mijn sites dezelfde methode (d.w.z. uit een database polygonen/coordinaten ophalen -> kml bestand opbouwen -> kml parsen naar Googlemaps).

Overigens gebruik ik liever Geoxml dan de tool die standaard in de API zit (GGeoxml). Is namelijk een stuk veelzijdiger en vaak ook sneller.

Maargoed als het eenvoudig is om direct javascript te genereren is dat in principe wel beter inderdaad.

.