2017-03-19 24 views
-1

Google Maps API 3で簡単なKMLを読み込もうとしています.GMLエディターでKMLファイルを作成しました。コードはGoogleサンプルです。どこに問題があるのか​​わかりません。GoogleマップKMLレイヤーで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

コンソールにエラーがありますか? KMLのURLはよく見えません。 – Scarysize

+0

ブラウザコンソールで何も表示されない場合は、 –

+0

kmlファイルはサーバーから要求されますか? Chrome DevToolsの[ネットワーク]タブを確認します – Scarysize

答えて

1

github.comにKMLのために提供されたリンクは、 "text/plainの" のMIMEタイプで提供されている、それがあるべき"application/vnd.google-earth.kml+xml"

3 KML MIMEタイプ
Google Eartからのリクエストに応答するときh(または任意のEarthブラウザ)を使用している場合、KMLサーバーはGoogle Earthがその応答を正しく解釈できるように、特定のルールセットに従わなければなりません。

成功すると、サーバーはHTTP 200の応答コードを返し、応答のcontent-typeを適切なMIMEタイプに設定する必要があります(後述)。

Google EarthはKMLファイルとKMZファイルを読み取ります。 KMLファイルのMIMEタイプが

アプリケーション/ vnd.google-earth.kml + xmlですKMZファイルのMIMEタイプは
アプリケーション/ vnd.google-earth.kmz

validator results次のとおりです。

勧告

このフィードは有効ですが、intero次の推奨事項を実施することにより、幅広い範囲のフィードリーダの能力を向上させることができます。

フィードは "text/plainの" メディアタイプ

添えすべきではない、私は(正しいMIMEタイプでKMLを提供しています)私のサーバーにあなたのKML、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をコピーする場合、私がKmlLayerのURLを指している場合は、it also works

関連する問題