2015年11月24日火曜日

Google Mapにマーカー(目印)を表示する

こんにちわ、開発者のⅠです。

さて、前回は便利機能の表示の切替についてお話しましたが、今回はマーカーを表示させる方法についてお話したいと思います。

マーカーは皆さんご存知でしょうか?
Google Map上で建物などのスポットをクリックしたり、キーワード検索を行うと現れる"赤い目印"のことです。
なんとなく愛嬌がありますね。


それでは早速、実践してみましょう。

マーカーを表示させるには、経度と緯度が必須です。
以下のコードを、 関数 initializeに追加してみてください。
var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);

var markers = [
    ['東京タワー',35.658589, 139.745615],
    ['浅草 雷門',35.711020, 139.796336],
    ['中央本線 笹子駅',35.603862, 138.825087],
    ];
for (var i = 0; i < markers.length; i++) {
var name = markers[i][0];
var latlng = new google.maps.LatLng(markers[i][1],markers[i][2]);
createMarker(latlng,name,map)
}
さらに、以下の関数を新規に追加します。
function createMarker(latlng,name,map)
{
var infoWindow = new google.maps.InfoWindow();
var marker = new google.maps.Marker({position: latlng,map: map});
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(name);
infoWindow.open(map,marker);   
});
}

これで、三箇所にマーカーが表示されていると思います。 しかし、この方法ではマーカーを表示させたい箇所が増減した場合にその都度、ソースの編集が必要になります。 次回は、マーカーの座標を外部ファイルから読み出す方法についてお話したいと思います。 それでは、また!

Related Posts:

  • wgetでサイト内のリンク切れチェック主にリソースのダウンロードに多用するwgetコマンドですが、オプションの指定の仕方によってリンク切れチェッカーとして使えることがわかりました。 社内サーバやベーシック認証がかかっている環境にも適用可能で、cron等のタスクスケジューラにも登録しやすいので、 開発の最終フェーズから、日々のサイト内リ… Read More
  • SQL 算術オーバーフロー エラー「expression をデータ型 datetime に変換中に、算術オーバーフロー エラーが発生しました。」 こんにちはYです。 クエリを実行中、上記のエラーが発生してちょっと調べてみました。 declare @datetimedisp datetimeset @datetimedisp =… Read More
  • wgetでサイト内のリンク切れチェック(いろいろ実験)以前、wgetでサイト内のリンク切れチェックの記事でwgetのspiderオプションを紹介しましたが、実施するにあたって 「-recursive -level 1」とすると指定ページだけチェックして終わり?もしくは指定したページからリンクされたページまで辿る? 同一URLのリンクが複数貼られていた… Read More
  • Java初心者がはまったこと2(ラッパークラス)こんにちは。Java初心者のWebエンジニアKです。 PHPのノリでJavaを書いていたらはまったこと第二弾として、今回はラッパークラスについて書きたいと思います。 ■intとIntegerではまる Javaのソースコードを見ていると、例えば数値を扱う変数を作るとき、以下の2通りの宣言があるこ… Read More
  • Java初心者がはまったこと(文字列比較)はじめまして。WebエンジニアのKと申します。 これまでサーバサイドはほぼPHPで実装してきましたが、最近ではJavaへの挑戦も始めました。 慣れたPHPの感覚でJavaを書き始めると、思わぬところではまってしまうことがあり、 ここでは自戒の念を込めてはまったポイントを記しておこうと思います。 … Read More

0 コメント:

コメントを投稿