2012-02-23 2 views
1

これは私を狂ってしまいます。KMLで使用されるカスタム目印記号がGoogleマップに表示されません

​​

特に、このマップは、いくつかのオーバーレイを持っていませんが、そのうちの一つは、私が開発し、指定したカスタムの目印アイコンを表示しなくなっている:私は、次のようないくつかの簡単な埋め込まれたGoogleマップを開発してきました。問題KML層はこれです:

http://publicworks.snoco.org/RdClosures/SnocoRdClosures4Gmaps.kml

最後の数ヶ月でいくつかの時間は、カスタムシンボルが表示停止し、デフォルトの目印記号に置き換えられました。 Google EarthでKMLファイルを開くと、正しく表示されます。 KMLファイルはKmlValidatorを使用して検証されます。

私の検索では、KMLファイルの上部で定義を使用し、各目印内で定義を使用することをおすすめしました。私はKMLにその変更を加えましたが、カスタムアイコンはまだ表示されません。

JavaScriptのコードを見るとKML URLパスにダミーパラメータのトリックを使用して、レイヤをリフレッシュするようにKMLファイルがGoogleの最後にキャッシュされることに気付きました。私が注目するもう一つのことは、このKMLのコンテンツは静的ではなく、頻繁に変更されることです。

アイデア?私は困惑しているから!

感謝! Steve

答えて

1

これは、サーバーが画像をどのように提供しているかと関係があります。自分のアイコンをホストするとうまくいき、他のKMLファイルもmaps.google.comのアイコンを使用しています。このアイコンも正常に動作します。

GEでは動作しているので、あなたのサーバが間違ったMIMEタイプやそれらの行に沿ったものを送信していると思います。私はカールでチェックし、すべてがうまく見えるので、私はそれ以上の詳細を提供することはできません。うまくいけば、これは正しい方向にあなたを得るのに役立ちます。がんばろう!

1

あなたのサーバーとGoogleの画像の間に何かが起こっていると、fragileninjaは同意しました。通常の容疑者は、タイムアウトと404(または他のサーバーエラー)です。

Googleのサーバー上のKMLレイヤーは実際にタイルにラスタライズされているため、要求のタイムアウトは比較的短く、タイルの送信が遅れることはありません。その時間にアイコン画像が返されない場合、通常、マップはデフォルトのアイコンを使用してレンダリングします(ここで行っているように)。しかし、自分のサーバーでアイコンをホストしているときにアイコンが動作するのに問題はありません。アイコンに直接アクセスしたときの読み込みに時間がかかるので、奇妙です。

あなたのサーバーは通常、Googleのサーバーに応答するのに通常より時間がかかり、画像ではなくHTTPエラーが返されている可能性もあります。

サーバーログを確認して、要求が表示され、期待通りに戻るかどうか確認できますか。

最後に、問題がなければ、Maps API issue trackerにバグを提出することをお勧めします。ドロップダウンリストから適切なテンプレートを選択してください(また、KmlLayer example from the docsのKMLファイルを使用するなどの簡単なテストケースを検討することもできます)。あなたがバグを提出することになった場合は、ここにリンクしてください、そして、私はそれが見ていることを確認します。

+0

ご回答いただきありがとうございます。サーバーのログは私のコントロールとアクセスの範囲外にあるので、私たちのITスタッフと調整して、あなたが育てたものを調べます。 GoogleマップのKMLレイヤーオーバーレイの目印アイコン以外のすべての用途で、1月末にはまだ動作していたため、画像自体は引き続き表示されていたため、イライラしています。 – Scole

+0

私はちょうど今働くように思われる状況を更新したがっています。私はITスタッフにログを見させてもらったが、珍しいものは見なかった。バグを記録する前の最後の手段として、新しいバージョンのPNGアイコンの名前を変更してアップロードし、新しいバージョンを指すようにKMLファイル内の参照を更新しました。それはトリックを行うように見えた!アイコンが正しく表示されるようになりました。 – Scole

関連する問題