スポンサードリンク

Category Archives: Google Maps API v3

インフォウィンドウ(吹き出し)の外部サイトへのリンクURLの記述/iPhoneサイトをjQTouchで作成する。


◆ Google Maps API v3 /外部サイトへのリンクURLの記述/jQTouch iPhone用

jQtouchをつかったGoogle Mapの地図を作成後、PCで動作をチェックしても問題なかったのだが、iPhone(アイフォン)の実機でインフォウィンドウ(吹き出し)部の外部サイトへのURLをクリックしても新しい画面が開かないことに気がついた。何故?

このサイトを読みますと、「jQTouchを使ったサイト内のaタグのhrefはすべてjQTouchのサイト内での動作になります。」とあります。

対策として、別ウィンドウで開くとよいとありましたので、target=”_self” をtarget=”_blank”に試してみましたが開かず・・・・・。

Read more »

地図表示の高速化。同じマーカー(アイコン)のを地図に読み込まないようにする配列の再利用方法

取り急ぎですので、概要のscriptを紹介。このサンプル(iPhone用マーカー表示の高速化)で動作がわかるかと思います。

正確には、配列(XMLファイルやデータベース)からマーカーデータを読み込んだ時に、既存の配列の要素と比較して、同じ要素があった場合、同一のマーカーとみなす策です。

この案を流用すれば、同じマーカーを読み込まなくて済むようになる案が作成できると思います・・・・・。

iPhone(アイフォン)等のマーカーの読み込みが遅いモバイル用マップには必須のテクニックですが、実際にはPC用マップでは不要かもしれませんね。

しかしながら、マーカーを読み込む都度、マーカーがちらつく(フリッカ)するのを防ぐこともできるすぐれものです。また、同じマーカーを読み込むとマーカー(アイコン)やインフォウィンドウの影が濃くなる事象を回避することもできますね。

詳しくは、mobile geo social(英語)を参照下さい。

 

2011/09/29) 高速化(マーカーの再読み込みをしない)のテクニックを使ったiPhone(アイフォン)用マップを、この記事(目的地アイコン(マーカー)をクリックして、ルート検索結果と距離を表示させる方法の続き)の末尾に追加紹介しました。

 

Read more »

XMLファイル(配列)の複数マーカーから特定markerのインフォウィンドウ(infowindow)を最初から一つだけ表示するサンプルデモ完成


<目次>始めに地図を読み込んだ時、複数のマーカーから任意の一つのインフォウィンドウ(infowindow)を最初から表示する。

◆  インフォウィンドウ(infowindow)を最初から一つだけ表示する方法の検討

1.特定の要素を取り出すfor文の追加

さて、前回配列から特定の要素だけ取り出すことができましたので最初に作ったサンプル地図に合わせていきます。

結局、最初に思いついたのが、for (var i = 0; i < markers.length; i++) で、配列から全てのマーカーを表示させておき、別のfor文でインフォウィンドウを最初から地図に表示させたい特定のマーカーの要素を、for (var i = 6; i <= 6; i++) (この場合6番目の要素)で取り出す案です。・・・というかコレぐらいしか思いつきませんでした。

試していきます。

さて、ここで作ったサンプルマップに、2つめの特定の要素を読み出すfor文を追加します。

Read more »

XMLファイルから読み込んだマーカー(アイコン)の配列についての検証(2次元配列を理解してみる)


<目次>始めに地図を読み込んだ時、複数のマーカーから任意の一つのインフォウィンドウ(infowindow)を最初から表示する。

◆ Google Maps API v3 / XMLファイルから読み込んだマーカー(アイコン)の配列についての検証

1. 2次元配列

google mapsでたくさんのマーカーを表示させる方法とてfor文が使われていますが、実際はどうなっているのか?

試してみました。

配列を記述したサンプル地図ですが、配列が4列、要素が9行になります。従って、2次元配列で各配列の要素を指定できることになるそうです。

[‘公園1′, 35.760191,140.061629,’kouen’],
[‘公園2′, 35.643033,139.860592,’kouen’],
[‘公園3′, 35.596286,140.141172,’kouen’],
[‘温泉1′, 35.805307,140.16651,’onsen’],
[‘温泉2′,35.717602,139.980167,’onsen’],
[‘温泉3′, 35.42295,139.89739,’onsen’],
[‘水族館1′,36.333294,140.593817,’suizokukan’],
[‘水族館2′, 35.442851,139.644607,’suizokukan’],
[‘水族館3′, 35.728681,139.719765,’suizokukan’]

Read more »

イベントリスナー’dragstart’で、地図をドラッグしたらマーカーのインフォウィンドウ(吹き出し)を閉じて削除する。


<目次>始めに地図を読み込んだ時、複数のマーカーから任意の一つのインフォウィンドウ(infowindow)を最初から表示する。

◆ Google Maps API v3 / インフォウィンドウ(吹き出し)を地図の中心に表示させる。

前回作成した地図でインフォウィンドウ(吹き出し)を地図の中心に表示させたのはいいのですが、他のマーカーが隠れてしまっています。

これを改善するために、ユーザーが地図を動かしたら、そのインフォウィンドウを消してしまいましょう。

これには、イベントリスナーのdragstart(地図のドラッグがスタート)を使います。似たサンプルで地図の移動が終了したらイベントを発生させるサンプルがあります。このサンプルはdragend(地図のドラッグがエンド)で、データベースからマーカーを都度も見込むのに使っています。参考にどうぞ

コードは、下記の通りです。google.maps.event.addListenerに’dragstart’を指定します。

Read more »

マーカーのインフォウィンドウ(吹き出し)を地図の中心座標に表示させるpanTo()メソッドを使ったサンプル


<目次>始めに地図を読み込んだ時、複数のマーカーから任意の一つのインフォウィンドウ(infowindow)を最初から表示する。

◆ Google Maps API v3 / インフォウィンドウ(吹き出し)を地図の中心に表示させる。

前回作成した地図にインフォウィンドウ(吹き出し)を地図の中心に表示させるためのコードを追加しておきます。

map.panToを使います。とりあえずクリックイベントに追加。これで、マーカーをクリックすると地図の中心座標にインフォウィンドウが表示されることになります。あとで、地図が初期表示されたときのインフォウィンドウも同じコードで地図の中心座標に表示させます。

Read more »

外部XMLファイルでなく内部ソースにマーカー用の配列を記述する。


<目次>始めに地図を読み込んだ時、複数のマーカーから任意の一つのインフォウィンドウ(infowindow)を最初から表示する。

◆ Google Maps API v3 / 外部XMLファイルの変わりにjavascript内にマーカー用の配列を記述する。

XMLファイルを横にらみしながらですと判りずらいので、配列データをコード内に用意します。こんな感じで

	var markers =
	[
	['公園1', 35.760191,140.061629,'kouen'],
	['公園2', 35.643033,139.860592,'kouen'],
	['公園3', 35.596286,140.141172,'kouen'],
	['温泉1', 35.805307,140.16651,'onsen'],
	['温泉2',35.717602,139.980167,'onsen'],
	['温泉3', 35.42295,139.89739,'onsen'],
	['水族館1',36.333294,140.593817,'suizokukan'],
	['水族館2', 35.442851,139.644607,'suizokukan'],
	['水族館3', 35.728681,139.719765,'suizokukan']
	];

左から、ココの要素の名称、座標lat,lng、カテゴリ分けをするための「kouen」「onsen」「suizokukan」です。

Read more »

始めに地図を読み込んだ時、複数のマーカーから任意の一つのインフォウィンドウ(infowindow)を最初から表示する。


◆ Google Maps API v3 / 複数のマーカーから任意の一つのインフォウィンドウ(infowindow)を最初から表示する。

Google Maps API V3で大量多数マーカー(アイコン)多数ののmarkerデータを読み込んだ後に、一つだけ最初から希望するインフォインフォウィンドウ(infowindow)を開いておく(表示させる)案がないか考えていきます。

ともかく、XMLファイルからマーカー(marker)を配列に読み込んで、配列から希望する要素のインフォウィンドウを表示する手段を下記の順で検討してみました。

当方素人ですので、あくまで参考程度で・・・・。

Read more »

インフォウィンドウのサイズの大きさを指定変更する方法

◆ Google Maps API v3 / インフォウィンドウのサイズの大きさを指定する方法

インフォウィンドウのサイズ指定についてメモ。

インフォウィンドウっていざいろいろやろうとすると結構難しい。

何も指定しなくとも画像を指定すれば、勝手にちょうど良い大きさに変わってくれるのですが・・・・・・・・

大きさを指定したい場合は、次の案があります。

Read more »

YouTube動画を情報吹き出し(インフォウインドウ)に表示する

◆ Google Maps API v3 / Youtube動画を吹き出し(インフォウインドウ)に表示する

Youtubeの動画をインフォウィンドウ(infowindow)に表示させてみます。

1.先ずYouTubeにアクセス

YouTubeサイト

2.YouTube動画の下部にある埋め込みコードをコピペして

3.infowindowの吹き出しコンテンツに貼り付けます。

Read more »

スポンサードリンク