2017-03-19 3 views
-1

Ich versuche, eine einfache KML mit Google Maps API 3 zu lesen, erstellte ich KML-Datei in Google Maps Editor, Codes sind Google Beispiel, ich kann nicht finden, wo das Problem ist.Google Maps KML-Layer wird nicht lesen kml

gm-sample.html

BTM.kml

function initMap() { 
     var map = new google.maps.Map(document.getElementById('map'), { 
      zoom: 13, 
      center: {lat: 40.40926, lng: 49.86709} 
     }); 

     var ctaLayer = new google.maps.KmlLayer({ 
      url: 'itdc.byethost7.com/BTM.kml', 
      map: map 
     }); 
     } 
+1

Irgendwelche Fehler in der Konsole? Die KML-URL sieht nicht gut aus. – Scarysize

+0

Wenn du meinst, ist Browser-Konsole kann ich nichts sehen. –

+0

Wird die kml-Datei vom Server angefordert? Überprüfen Sie die Registerkarte "Netzwerk" in Chrome DevTools – Scarysize

Antwort

1

die Verbindung für die KML auf github.com versehen ist mit einem MIME-Typ "text/plain" bedient wird, sollte es "application/vnd.google-earth.kml+xml"

sein

3 KML MIME-Typen
Wenn Sie auf eine Anfrage von Google Eart antworten h (oder jeder Earth-Browser) muss ein KML-Server bestimmten Regeln folgen, damit Google Earth seine Antworten richtig interpretieren kann.

Bei Erfolg muss der Server einen Antwortcode von HTTP 200 zurückgeben und den Inhaltstyp der Antwort auf einen geeigneten MIME-Typ setzen, wie hier beschrieben.

Google Earth liest KML- und KMZ-Dateien. Der MIME-Typ für KML-Dateien ist application/vnd.google-earth.kml + xml

Der MIME-Typ für KMZ-Dateien ist
application/vnd.google-earth.kmz

validator results:

Empfehlungen

Dieses Futter ist gültig, aber intero Die Kompatibilität mit den meisten Feed-Readern könnte verbessert werden, indem die folgenden Empfehlungen umgesetzt werden.

Feeds nicht mit dem "text/plain" Medientyp

Wenn ich kopieren Sie Ihre KML auf meinen Server (die KML dient mit dem korrekten MIME-Typ), it works

BTW - If I point the validator to the link in the code in your question, it doesn't work at all, it isn't a KML file bedient werden soll, Aber wenn ich die KmlLayer-URL darauf zeige, it also works

Verwandte Themen