« カテゴリーごとに個別のテンプレートモジュールを読み込む | メイン | IE7 »

March 22, 2006

GoogleMapsに表示できるアイコン数

GoogleMaps上に表示させるアイコンの数に制限があるらしい。何個以上はダメというより、たくさん表示させすぎると動作が重くなるらしい。

なので、たとえばユーザーに任意の場所にアイコンを投稿させたりする場合、少ないうちは問題ないが、100件以上とかになると処理が遅くなるようです。

他のGoogleMapsを使用しているサイトは、どうやってこの問題を回避しているのか調べたところ、表示領域内にある情報のみを表示させていました。

要はマスターデータ上は、何万件もデータがあってその中から、表示領域の経度と緯度の最大値と最小値を取得して、マスタから該当のデータを引っ張ってくるという方法です。

表示領域の経度と緯度情報は「getBoundsLatLng」という関数で取得できます。 サンプルのページでは、この値をCGIに渡してXMLデータを引っ張ってくるようにしています。

    var b = map.getBoundsLatLng();
    var args = 'minX='+b.minX+'&maxX='+b.maxX+'&minY='+b.minY+'&maxY='+b.maxY;
    var url = 'xml.cgi?'+args;
    var request = GXmlHttp.create();
    request.open("GET", url, true);

サンプル

Author nitoka : March 22, 2006 04:34 PM

TrackBack

TrackBack URL:
http://www.nitoka.net/blog/mt-tb.cgi/106

Comment

Please, comment




save