スポンサードリンク

Category Archives: 宿題

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 »

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

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

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

1.先ずYouTubeにアクセス

YouTubeサイト

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

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

Read more »

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

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

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

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

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

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

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

ユーザの現在座標位置を収得する方法とは?/Geolocation + iPhone(アイフォン)+Google Maps API v3

◆Google Maps JavaScript API V3 + Geolocation (現在位置の座標情報を取得する)

iPhone(アイフォン)で地図が見れるようになりましたので、出かけたときに自分の位置をGPS情報から収得したいでうすよね。さて、どうすればいい? いつものように、Google Maps JavaScript API V3のトップページからスタート。Google Maps JavaScript API V3 – 基本ページに、ユーザーの現在地の検出(Geolocation)について説明があり、下記のような内容。

  • iPhone(アイフォン)で位置情報を収得するのは、Google Maps API では無い。
  • iPhone(アイフォン)のブラウザsafariがサポートしている”W3C Geolocation 規格”の”Geolocation” を用いる。
  • W3C Geolocation 規格”で位置を収得できない場合、Google Gears Geolocationを使う方法がある。

このページにあるサンプルコードをみると

// Try W3C Geolocation (Preferred) if(navigator.geolocation) { browserSupportFlag = true; navigator.geolocation.getCurrentPosition(function(position) { initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude); map.setCenter(initialLocation); }, function() { handleNoGeolocation(browserSupportFlag); });

Read more »

スポンサードリンク