スポンサードリンク

Tag Archives: Google Maps API v3

地図のズームレベル(zoom level)を取り出す。条件分岐式 if文 if() else if() else()と条件式switch


◆ Google Maps API v3 /地図のズームレベルを変数として使用する。

以前に作成したこのマップ 地図のズームレベルをvar zoom =  map.getZoom();で取り出して、地図のズームレベルによってデータベースからマーカーを読み出す半径の変数としてつかっていた。

今回、条件式if文にかわるswitchなるものを知ったので試してみた。

Read more »

jQTouch iPhone用Google Maps API V3 地図 でのjQuery click event (クリックイベント)

◆ Google Maps API v3 /jQTouchを使ったGoogle Mapでのclickイベントについて jQtouchをつかったGoogle MapのiPhone(アイフォン)用サイトで、google.maps.event.addListener(map, ‘click’, function()のクリックイベントが機能しないことに気がついた。ほんと知らないことばかり、でどうすればいい。

	google.maps.event.addListener(map, 'click', function() //◆地図をクリックした時
	{
	center = map.getCenter();
	searchLocationsNear(center);
	});

あれ?なんで? そおなんです。通常のサイトで動くscriptが、jQTouchだと動かなくなることが・・・・・ よくよくGoogleのフォーラムをみていたら、jQTouchの場合、jQueryのクリックコマンドがあるとのこと。 Read more »

地図の拡大・縮小用のクリックボタン(アイコン)を地図の外に設置&現在の地図のズームレベルをインフォウィンドウ(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 »

データベースから地図の中心座標より半径(km)を指定した距離範囲のマーカー(アイコン)を表示するサンプルデモ完成

データベースから地図の中心より半径(km)を指定した距離範囲のマーカー(アイコン)を表示するphp+MySQL(その4)

◆ Google Maps API v3 /データベースから地図の中心より半径(km)を指定した距離範囲のマーカー(アイコン)を表示する

(1)マーカーを読み出すイベント

無事に地図を動かす度にマーカーを読み出すことに成功しましたが、データベースからマーカーを読み出すのにベストな地図の状態変化イベントは、dragendと決め付けました。

しかしながら、dragendの場合、少し問題があって、地図が最初に表示されたときにマーカーを読み込めません。地図が表示された時にイベントが発生しないことが判ります。地図をドラッグして初めてイベントが発生します(デモ)。

一方、idleイベントは、地図を読み込んだ直後でもイベントが発生しますので、これなら地図表示と同時にマーカーを表示できますが、その後、ズームでもイベントが発生してしまいますので、少しマーカーの読み込むが頻繁すぎる感じがあります。iPhone(アイフォン)用に転用しようと考えていますので、出来るだけデータベースとの通信間隔を少なくしたいものです。 そこで、projection_changed eventsを使います。 Read more »

マップオブジェクトの状態変化イベント及びマウスイベントを試す。デモのサンプル地図/Map Events Demo

データベースから地図の中心より半径(km)を指定した距離範囲のマーカー(アイコン)を表示するphp+MySQL(その2)

◆ Google Maps API v3 / マップオブジェクトの状態変化イベント及びマウスイベントを試す。デモのサンプル地図

マーカーが多く増えてきたので、Google先生のViewport Marker Management(地図に表示されている範囲のマーカーだけを表示させる)なるものに挑戦しようと他webで紹介されていたAjax案を試していて気がついた。地図が広域になれば、マーカーが増えすぎて、クラスタリング処理でもしないと重くなるのね・・・・・はぁっ当然ですな。

MarkerClusererと組み合わせることを考えたが、このクラスタリング方法も広域にすると個々のアイコンが見えなくなってしまう。

希望のサイト製作には不向きだなと考えていたら、地図の中心から半径(km)の距離範囲のマーカーをデータベースから取り出すSQLがありました。

これを使っていきます。

Read more »

マップイベント projection_changedとは? tilesloadedとbounds_changedとcenter_changedのイベント発生の違いとは?

◆ Google Maps API v3 / マップオブジェクトの状態変化イベントtilesloadedとprojection_changedとは?

マップイベント projection_changedの違いが良くわからない。リファレンス読んでもprojection_changedの「このイベントは、投影が変更されると発生します。」とは?ナンなのだ?

それとtilesloadedとbounds_changedとcenter_changedのイベント発生の違いとは?

それならデモで試してみようかな。

Read more »

event Listenerイベントリスナーで地図(マップ)イベントによりデータベースから都度マーカーを読み込むphp+MySQL

データベースから地図の中心より半径(km)を指定した距離範囲のマーカー(アイコン)を表示するphp+MySQL(その3)

◆ Google Maps API v3 / addListener() イベント ハンドラでデータベースから都度マーカーを読み込む。

さて、地図が動いたらというイベントをマーカーの検索functionへ渡してデータベースから読み込むのですが、その前に、データベースから引っ張ってくる変数を追加。アイコンのイメージを追加・・・等。肉付けしていきます。

最後に、地図に何らかの状態変化イベントが発生したら、地図の中心から入力したkmの範囲のマーカー(アイコン)を再表示させることにします。

イベント通知の登録は、addListener() イベント ハンドラを使用して行うと、Google先生のこのページ「Google Maps JavaScript API V3 のイベント」に書いてあります。

Read more »

Google Maps V3サンプル Store Locator (店舗検索)+ PHP, MySQL を試す。

データベースから地図の中心より半径(km)を指定した距離範囲のマーカー(アイコン)を表示するphp+MySQL(その1)

◆ Google Maps API v3 / php+MySQL サンプルStore Locatorを試してみる。

php+MySQLでデータベースから表示させるマーカーを選択する方法の一つとしてGoogle 先生のデモをいじって理解を深めたいと思います。

まず、自分のデータベースを使うので、マーカー座標のある日本に初期座標を変更。データベースは、次のように変数が登録されております。

Read more »

iPhone(アイフォン)向け地図にもAndroid コントローラの拡大縮小のズーム コントロールを表示させる。

◆ Google Maps API v3 / php+MySQL サンプルStore Locatorを試してみる。

iPhone(アイフォン)の地図のコントロールナビゲーションUIには、google codeを見るとiPhone(アイフォン)用のデフォルトは無し

しかし、iPhone(アイフォン)でも、ナビゲーションのオプション設定すればOK。お試しあれ。

Read more »

4 / 512345

スポンサードリンク