0

私のウェブページは、実行時に生成されたFusionTablesデータをGoogleマップに表示します。

問題は、ジオメトリタイプの列を持つFusionTableを作成して初めて表示するときに、Googleがサーバー側のキャッシュに関連するすべてのマップタイルをロードする必要があることです。これにはしばらく時間がかかります。場合によっては2〜3秒、場合によっては15〜20秒かかります。キャッシュ中、マップには「データがまだ読み込まれている可能性があります...」という灰色のオーバーレイが表示されます。非常にバグがあるので、この画面は避けたいと思います。オーバーレイが表示される場合と表示されない場合があります。

マップをユーザーに表示できるように、すべてのマップタイルがキャッシュされているかどうかを検出する方法を探しています。

すでにマップタイルを定期的に更新しようとしましたが、更新を停止するタイミングについてのフィードバックはありません。

    $("img[src*='googleapis']").each(function(){
       $(this).attr("src",$(this).attr("src")+"&"+(new Date()).getTime());
    }); 

このため、私は他の解決策を探しています。

4

2 に答える 2

0

地理データを単純化してみてください。このメッセージは、サーバー側のプロセスが妥当な時間内にマップタイルを提供する期限を過ぎた場合に表示されます。ポリゴンの複雑さを軽減することで、「データがまだロードされている可能性があります...」というメッセージタイルが表示されない可能性が高くなります。

複雑さを軽減するには、2つの方法があります。ポリゴンを定義する頂点(ポイント)の数を減らすことと、緯度/経度の位置の精度を下げることです。

また、参考までに、まったく同じマップが異なるビューアによって何度も呼び出されると、プロセス結果がサーバー側にキャッシュされ、メッセージが表示される可能性がはるかに低くなり、通常はパブリックキャッシュが原因であることに注意してください。

-レベッカ

于 2013-01-31T17:32:15.380 に答える
0

私自身の質問に答える:単に今のところそれをする方法はありません。

補足として:FusionTablesを使用して動的に生成された地理データを表示することを検討することを誰にも勧めません。そのように設計されていません。FTを使用するのは、めったに変更されない静的なデータセットがある場合のみです。

于 2013-03-21T19:52:35.487 に答える