スポンサードリンク

Tag Archives: getZoom

地図の拡大・縮小用のクリックボタン(アイコン)を地図の外に設置&現在の地図のズームレベルをインフォウィンドウ(infowindow)に表示する。


◆ Google Maps API v3 /ズームレベルを変更するためのボタンを地図の外部に設置する。

通常、地図のズームレベルは、マウスホイールを回転させれば、それでOKだが、iPhone(アイフォン)等スマートフォンでは、それが出来ない。希望のズームレベルへ変更したいものだ。

それなら、マップの外にズーム用のボタンを設置する案しか無いかな・・・。

ズーム関係で、使う要素は、ズームレベルを指定するための、setZoom()。それと現在のズームレベルを得るための、getZoom()。おまけで、ズームレベルが変更になったことを捕まえるためのマップイベント用ハンドラgoogle.maps.event.addListener(map, ‘zoom_changed’, function()の3つ。

(1)ズームレベルを指定する

ズームレベルを指定するscriptは、次のこれだけ。ズームレベルをしてするのは「setZoom」。それに初期座標からずれないようにpantToを追加したもの。

Read more »

ズームレベルに連動しマーカー収得用の半径距離(km)を自動変更して、地図のアイコン表示範囲内(Viewport)に合わせてみる+サイドバー

◆ Google Maps API v3 /ズームレベルに連動しマーカー収得用の半径指定(km)を自動変更させる。

以前に、データベースから地図の中心より半径(km)を指定した距離範囲のマーカー(アイコン)を表示するサンプルデモを作成してみた。

これらは、ズームレベルの変更(zoom_changedイベント)があってもデータベースからは、マーカーを読み込ませないものにした、iPhone(アイフォン)やスマートフォン用の地図の場合、何度もMySQLと通信させるのは、スムースでないためだ。

しかしながら、PC用地図の場合、地図に表示されている範囲に合わせて、マーカーを表示させるようにした方が使用感が良いことに気がついた(・・・というかいちいち半径なんか指定するのは面倒)。

それであれば・・・・是非にもチャレンジしたかったのがgoogle先生のViewport Marker Mnagement、これは地図に表示されている範囲のマーカーだけを表示すテクニック、getBoundsで地図境界を取り出してデータベースから境界無いのマーカだけをひっぱってくるのだが、ここで地図レベル広域にしたら全部の数千個のマーカーが表示されてしまうではないか・・・・・・というかブラウザが固まるな。

では、広域になったらマーカーを表示させないか、またはMarkerclustererを使ったクラスタリング処理に切り替えるか・・・・・。

今回は、そこまで試す時間的余裕もないので、それなら、ズームレベルに併せて半径距離を自動で変更させてみることにしてみよう。

Read more »

スポンサードリンク