1

こんにちは、KMLのパフォーマンスに問題があります。場合によっては、KMLマーカーはリロード後にのみ表示されます。これは、Googleが結果をキャッシュすることに関係している可能性があります。より良い解決策が必要だと思います。おそらく、ある領域のマーカーの合計をより大きなズームレベルで表示し、より多くのズームを備えたレベルでより詳細に表示するようなものです。そのような解決策は実行可能ですか?もしそうなら、どのように?KMLマップのパフォーマンスを向上させる他の方法を考えられますか?リンクはhttp://www.koolbusiness.comで、KMLファイルはhttp://www.koolbusiness.com/list.kmlです。

KMLファイルをmaps.google.comに問題なくロードできますが、カスタムマップに表示しようとすると、ディスプレイがロードされないことがあります。提案を事前に感謝します。

更新:zip圧縮でKMZファイルを使用するように更新しました。このファイルはhttp://www.koolbusiness.com/list.kmzから入手でき、ソースと詳細についてはhttp://montao.googlecode.comを参照してください。

4

2 に答える 2

2

パフォーマンスに影響するかどうかはわかりませんが、kmlファイルのmimeタイプを設定する必要があるようです。 http://code.google.com/apis/kml/documentation/kml_tut.html#kml_server

kmlファイルをkmzファイルとして圧縮しようとしましたか?これはzipプログラムで実行でき、ファイルkmzを呼び出すだけです。

目印でstyle要素を繰り返しますが、doucment要素の下にstyle要素を作成して、idで参照することもできます。http://code.google.com/apis/kml/documentation/kmlreference.html#style

于 2011-03-31T13:52:22.967 に答える
1

以前の提案のいくつかに準拠するようにKMLをまだ変更したかどうかはわかりませんが、...

  • KMLファイルは非常に最小限のようです。これは良いことです。lat/lngの小数点を切り捨てることを提案しました。
  • 前のポスターで述べたように、KMLファイルのようにKMZに圧縮できます。詳細については、次のURLをご覧ください。http ://code.google.com/apis/kml/documentation/kml_tut.html#kml_serverサーバーでもKMZMIMEタイプを設定する必要があります。
  • KMLファイルの空白の量を減らすことができます。不要な場合は追加のスペースがあるようです...
  • キャッシュされたバージョンのKMLファイルを送信するようにウェブサーバーを設定できます...実行しているバックエンドの種類がわからないため、実際にポインタを指定することはできません。これが、マーカーが表示されない理由である可能性があります。時間がかかりすぎると、Googleのサーバーがリクエストをタイムアウトします。

ズームの領域に合計マーカーを表示するための解決策についての質問については、ズームレベルごとに、マップの境界を確認してから、その境界に座標を持つマーカーのみを表示できると考えていました。おそらく、境界内にあるかどうかをチェックするある種の関数を作成する必要があります。クライアント側のパーサーを使用して自分でKMLを手動で解析しない限り、KMLファイルからオブジェクトとしてマーカーを取得する方法がわかりません。

マーカーが読み込まれない理由を特定するには、FireBugを使用してGoogleのサーバーへのリクエストを特定してみてください。そして、あなたの問題に対するより多くの答えにつながる可能性のある、どのような応答が返ってきているかを確認してください。あなたが探すべきものはKmlOverlayServiceだと思います。

お役に立てば幸いです。

于 2011-04-07T15:33:38.410 に答える