2012年9月30日

隠居のパソコン備忘録: ブログ(MT4)に、動画(You tube)をアップロードする


 ブログに動画を載せたい場合がある。Jazz street での楽団演奏の録画や水鳥の動きなどである。このごろのデジタルカメラは、動画撮影機能がついているのが普通である。
 今年も開催された和泉の国ジャズストリートでは、Nikon Coolpix P510 で、SLMC(泉陽高校軽音楽部)の演奏を録画した。設定は、初期設定のままである。初期設定では、HD 1080p(1920x1080) となっている。それ以外のファイルに関する情報は取説には記載されていない。
 デジカメで撮った写真や動画は、Picasa3 でパソコンにとり込む。取り込んだファイルの拡張子は、写真の場合 .jpg であるが、動画は .MOV となっている。ファイルの種類は、Quick Time ムービーとなっている。
 これでは、Microsoft のWindows Media Player では再生できない。Quick Time ムービーは、Apple が開発したソフトだから無理もない。撮影した動画をタイトルをつけたりして編集するのは、フリーのソフト(Windows XP service pack2 に付属している)である moviemaker を使っている。
 デジカメで撮った動画の最初は、Canon IXY900IS であった。これでの動画の形式は、Microsoft の AVI ファイルだったので、moviemaker で編集することができた
どうやら、Canon と Nikon はこんなところでも張り合っているらしい。

 使い慣れた moviemaker で編集するためには、MOV を AVI に形式変換しなければならない。今年の冬に、ハシビロガモの集団採餌行動を NikonD7000 で録画編集した時には、ファイルの形式変換は、AVS video converter を使用した。今回も、AVI に形式変換し、moviemaker に読み込んで見ると、次のようなメッセージが出てファイルを読み込めない。
ファイルの再生に必要なコーデックがコンピュータにインストールされていないため、aviファイルを読み込むことができません。必要なコーデックを既にダウンロードしてインストールしている場合は、Windows ムービー メーカーを閉じてから再度開始し、もう一度ファイルを読み込んでください。

 必要なコーデックというのを探すソフトを導入して、探してみたが要領がよく分からない。AVS video converter の最新バージョンをインストールして動かそうとしたが、確か以前は無料(お試し期間中?)だったのが有料になっている。しかも、結構高い。それで、試行錯誤してみると FREESTUDIO というパッケージの中に、Free AVI Video Converterというソフトがあるのがわかった。
 このソフトで MOV を AVI に形式変換してみると、今度は moviemaker で変換後のファイルを読み込むことができた。タイトルをつけるなどの簡単な編集をして、レンタルサーバーにアップロードし、ブログ本文からリンクすると再生するようになった。

 和泉の国ジャズストリートでのランブリンフェローズという楽団のデキシーを、Sanyo(現在、この会社名はなくなっている) の PCM レコーダーで録音した .mp3ファイル を Yahoo Media Playerを使ってブログに記載しようと再調査していると、Yahoo Media Player は Yahoo webplayer と名前が変わって、動画(You Tube)も簡単にアップロードできるようになっている。
アップロードの方法は簡単である。Yahoo が提供するつぎのような JavaScript を、ブログのHTML <head> 部に置く。Instruction では、<body>部の下部におけとあるが、Movable Typeでは、 上手くいかなかった。 
<script type="text/javascript"> var YWPParams = { theme: "silver" }; </script>
<script type="text/javascript" src="http://webplayer.yahooapis.com/player.js"></script> 
上の行は、ブログで表示するときに、枠を黒ではなく、灰色にするために入れたスクリプトである。なくても問題はない。
 YouTubeの動画をブログで表示するには、次のようなコードを挿入したい場所に、記述するだけでよい。
<a href="http://www.youtube.com/watch?v=elg9OjDJIB8&feature=youtu.be"><img alt="DSCN0641.jpg" src="http://n-shuhei.net/atelier/photo_senboku/DSCN0641.jpg" width="200" height="133" /></a>

イメージファイル部分をテキストにしても問題はない。イメージ写真にすると、真ん中に再生アイコンが表示される。

 ブログ上にYouTube の動画を表示するには、もちろんYouTube に動画をアップロードしておく必要がある。今まで、YouTube に動画をアップロードした経験はないが、それほど難しい作業ではない。
  YouTube にアクセスすると YouTube は Google の一部になっているので、すでにGoogle にアカウント(普通は、gmailのアドレスがID )を持っておれば、マイチャネル(登録チャネル)が表示されるようだ。

upload00.JPG


 右上のツールタグの【アップロード】をクリックすると下のスクリーンショットようになる。
upload01.JPG

 PC にある動画(この場合、hashibiro.wmv というファイル:形式は、ほとんどOK のようだ)を選んで、アップロードすると、下のような画面となり、YouTube のファイル名(URL)が右上に表示される。
upload03.JPG
 下の Sample画像は、ブログの中に、次のように上のURL 組み込んで表記している。
<a href="http://www.youtube.com/watch?v=v4kdwpAnmGM&feature=context-gau"><img alt="ハシビロガモ動画" src="http://n-shuhei.net/atelier/photo_birds/120208_0181-thumb-150x100.jpg" width="200" height="133" /></a>

Sample 動画(YouTube)
ハシビロガモ動画

2012年9月28日

二十四節気:秋分、七十二候の四十七侯:蟄虫培戸(むしかくれてとをふさぐ)

 今日から5日間、七十二候の四十七侯:蟄虫培戸(むしかくれてとをふさぐ)である。
右フレーム下部の二十四節気、七十二候を更新した。

2012年9月25日

和泉の国ジャズストリート 2012

 
 毎年、秋分の日の前後に、泉北高速鉄道いずみ中央駅近辺で、和泉の国ジャズストリートという催しが開催される。今年は、第7回となる。
 いずみ中央のニュータウンに住む友と、Jazz を楽しんだあと、一杯をするのも7回目である。

 土曜日の前夜祭で、【もんたよしのり】の有料ライブがあったが、これは失礼して日曜日のストリートライブで落ち合うことにした。今年は13会場で、カントリーやゴスペルも含めて70以上のバンドが参加している。
 駅近くで和泉市の図書館もある和泉シティプラザで、今年も堺の泉陽高校軽音楽部(SLMC)が出演するというので、見に行くことにした。SLMC は、大阪の府立高校では、唯一校Jazz を演奏する学校である。友とは、ここで落ち合う約束である。
 ほぼ毎年聴いているが、少しずつうまくなっているようである。
 ストリートライブは撮影も録音もOK である。今回は、Nikon Coolpix P510 を持って行って動画を撮影してみた。P510 は可動タイプの画面モニター機能があるので、カメラに小さな三脚をつけて、頭上にさしあげてモニターを確認しながら撮ることができるので便利である。
 デジカメで撮影した動画はいつも、Microsoft の moviemaker で編集しているが、P510 で撮った画像は当初なぜか読み込んでくれなかったので苦労した。この経緯については、別項目で記録しておきたいと思う。

下の写真をクリックするとYou tube での動画や音楽が始まります。
動画の起動には、少し時間がかかります。

DSCN0641.jpg DSCN0657.jpg

 演奏されている【シング・シング・シング】はベニー・グッドマンの名曲である。クラリネットのソロ・パートでは、最後に非常に高い音を吹く必要があるのだが、このパートはクラリネットでなく電子ギターでやっていた。

チャバネセセリ;クリックすると大きな写真になります 友と落ち合って、いずみ中央駅近くのショッピング・モールにあるアムゼ広場に場所を変え、ランブリンフェローズというデキシーランドの楽団を聞くことにした。デキシーランドは屋外での演奏がよく似合う。こちら梅田のニュウサントリー5でも演奏しているプロである。
 この演奏を楽しんでいる最中に、前の席に座っている人の帽子にチャバネセセリが留まって同じように、デキシーを楽しんでいた。

 5時過ぎになって、昨年食事をしたデキシーが流れる料理屋に行ってみると、マスターがケータリング・サービスで大阪にいっていて、当分帰ってこないという。仕方がないので、そこから近い寿司屋(和食もしている)で、友とよもやま話で、楽しんだ。  

2012年9月24日

隠居の探鳥・蝶ウォーク:稲穂垂れ ヒレタゴボウの 咲き乱れ   


 今年の秋分の日は 9月22日である。この後、2044年までは閏年に限り9月22日、平年は9月23日と計算されるらしい。先日までの厳しい残暑は嘘のように涼しくなった。
 久しぶりに、栂・美木多桃山台の自宅から北コースを歩いた。カメラをセットするまもなく、和田川・大森では、イソシギとハクセキレイを見かけたが、カメラを構えたときには逃げられてしまった。

 いつも何種類かの鳥を見かける野々井の田んぼや畑には、早稲を刈り取ったあとにカワラバトとスズメの群れとムクドリがチョコチョコと動いているぐらいであった。野鳥だけなく、蝶も少ない。殺虫剤が発達して、虫が少なくなっているせいなのかもしれない。
 畑の畦で、クワを担いだ農家の老人の話では、スズメが少なくなったということである。ちょっと前までは、ネットなどのスズメ対策をしなければならなかったが、今はあまり必要ないという。食物連鎖が、確実に変わってきているようだ。

 あまり観察していないせいかもしれないが、野の花の世界は変化は少ないようだ。オシロイバナやツユクサは、アチラコチラで咲いている。ヒノヒカリの稲穂が垂れてきた田んぼの畦道には四弁花の黄色い小さな花が群生している。ネットでサーチしてみても、適切な花名がヒットしない。このようなときには、K's Bookshelf の「この花の名は?掲示板」にお世話になる。K.oさんという方が、即座に返答をして下さった。教えてもらった【ヒレタゴボウ】という名前には、覚えがある。自分のページのタグ・クラウド ページで開いてみると、昨年の同じ時期に、同じように教えてもらったことが記載してある。(隠居の探鳥・蝶ウォーク:重陽の 黄色花は ヒレタゴボウ)  一年も前のことなんてすっかり忘れているのだ。そのために、記録は必要なんだと自ら奮い立たせている。

 いつも私にとっては珍しい蝶が姿を見せる摺鉢池に回ってみると、蝶はまったくおらず、カイツブリが一羽、潜水を繰り返しているだけだった。摺鉢池にいく途中に立ち寄った荒池には、まだ睡蓮がさいていたが、その横に同じような水性植物が、白い毛羽立った小さ花をつけていた。ネットでサーチしてみると、どうやらガガブタという花らしい。ネットのページには、絶滅危惧種となっていた。

早稲の稲干;クリックすると大きな写真になります カワラバト;クリックすると大きな写真になります ムクドリ;クリックすると大きな写真になります カイツブリ;クリックすると大きな写真になります
早稲の稲干:野々井(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
50mm(35mm相当75mm)
絞り優先オート(1/125s ISO100 F9.0)
露出補正 なし
早稲を刈り取った跡に群れるカワラバト:野々井(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
240mm(35mm相当360mm)
シャッター優先オート(1/800s ISO500 F6.0)
露出補正 なし
幼虫を咥えるムクドリ:野々井(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
500 mm(35mm相当750mm)
シャッター優先オート(1/800s ISO500 F6.3)
露出補正 なし
トリミング
カイツブリ:摺鉢池(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
500 mm(35mm相当750mm)
絞り優先オート(1/100s ISO280 F9.0)
露出補正 なし
トリミング
設定ミス

イチモンジセセリ;クリックすると大きな写真になります ヤマトシジミ;クリックすると大きな写真になります キマダラセセリ;クリックすると大きな写真になります ホシミスジ;クリックすると大きな写真になります
イチモンジセセリ:大森(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
210mm(35mm相当315mm)
シャッター優先オート(1/800s ISO2500 F6.0)
露出補正 なし
ヤマトシジミ:野々井(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
500mm(35mm相当750mm)
シャッター優先オート(1/800s ISO900 F6.3)
露出補正 なし
トリミング
キマダラセセリ:桃山台(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
290mm(35mm相当435mm)
シャッター優先オート(1/640s ISO1600 F6.3)
露出補正 なし
ホシミスジ:桃山台(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
500mm(35mm相当750mm)
シャッター優先オート(1/640s ISO1250 F6.3)
露出補正 なし

オシロイバナ;クリックすると大きな写真になります ツユクサ;クリックすると大きな写真になります マンジュシャゲ;クリックすると大きな写真になります ヒレタゴボウ;クリックすると大きな写真になります
オシロイバナ:大森(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
240mm(35mm相当360mm)
プログラムオート(1/00s ISO360 F6.0)
露出補正 なし
ツユクサ:野々井(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
500mm(35mm相当750mm)
絞り優先オート(1/00s ISO100 F9.0)
露出補正 なし
トリミング
マンジュシャゲ:野々井(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
95mm(35mm相当142mm)
シャッター優先オート(1/800s ISO450 F5.0)
露出補正 なし
ヒレタゴボウ:野々井(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
170mm(35mm相当255mm)
シャッター優先オート(1/800s ISO350 F5.6)
露出補正 なし
睡蓮;クリックすると大きな写真になります ガガブタ;クリックすると大きな写真になります フヨウ;クリックすると大きな写真になります イチリンソウ;クリックすると大きな写真になります
睡蓮:荒池(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
210mm(35mm相当315mm)
絞り優先オート(1/60s ISO100 F9.0)
露出補正 なし
ガガブタ:荒池(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
380mm(35mm相当570mm)
絞り優先オート(1/100s ISO110 F9.0)
露出補正 なし
フヨウ:桃山台(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
170mm(35mm相当255mm)
絞り優先オート(1/100s ISO110 F9.0)
露出補正 なし
イチリンソウ:桃山台(堺)
2012/9/22
NikonD7000
ΣAPO50-500mm
500mm(35mm相当750mm)
シャッター優先オート(1/640s ISO800 F6.3)
露出補正 なし

(追記:2012/9/27)コミスジと表記していた蝶は、yamakoさんが ホシミスジであると指摘していただきました。いつも間違いばかりです。

2012年9月22日

くらしのこよみ:今日から秋分

 
 今日は秋分の日である。二十四節気では、今日から秋分が始まり、七十二候では雷乃收声(かみなりすなわちこえおさむ)が始まる。確かに、雷は聞こえなくなった。
 右フレーム最下部の【くらしのこよみ】を更新した。

隠居のパソコン備忘録: Google Maps API JS V3 で、番号付きマーカーを表示する

 
 従来、右フレームの【晩秋の宍道湖私的観光地図】は、Google Maps API のV2版で作成したものを置いていた。V2 でかいた地図はまだ動くが、2010年5月に廃止されており、V3 へ移行することが奬められている。
 この地図では、必要性はあまりないが、マーカーに番号を表示させていた。新しく V3 で作りなおすときにも、学習も兼ねて番号を表示させたかった。

 ところが、番号入りマーカーを表示するサンプルコードが見つからない。V2 で作成したコードを V3 に置き換えることも試みたが、悲しいかな十分な知識がないし、一から勉強する意欲もないので、うまく行きそうにない。
 今までに成功した V3 のコードを眺めていると【Google Maps API JS V3 で、カテゴリー別に色違いマーカーを表示する】 で使ったコードを、わかる範囲でいじってみれば、なんとかなるのではないかと思われた。色違いのマーカーを、番号付きマーカーに置き換えるのである。この地図では、category 別に赤・青・黄色・緑などのマーカーにしているが、これを番号つきのマーカーに置き換えるのである。また、また、一つずつのマークを、一つのカテゴリーと考えるのである。
 このコードでは、マーカーを立てる地点の経度・緯度や吹きだしに表示するHTMLなどは、XML ファイルを読み込んでくることになっている。V2 で作成した地図では、HTMLの中に直接入力されていた。

 とりあえずうまく表示できるようなので、自分用の備忘録として、XML ファイルおよびHTML コードを記録しておきたい。よくわかった人から見れば、へんてこなコードとなっていると思うが、古希を超えるとほとんど羞恥心はなくなっている。

使用したXML ファイル。項目 category は num01, num02・・・のようになっている。
<?xml version="1.0" encoding="utf-8" ?> 
- <markers>
  <marker name="1:宍道湖温泉" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4820-1.JPG" title="宍道湖の夕焼け" rel="lightbox[sinjiko]">宍道湖の夕焼け</a><br/>   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4831.JPG" title="宍道湖の朝" rel="lightbox[sinjiko]">宍道湖の朝</a>" lng="133.053875" lat="35.469199" category="num01" /> 
  <marker name="2:米子水鳥公園" address="   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01539.JPG" title="コハクチョウ" rel="lightbox[sinjiko]" >コハクチョウ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01510.JPG" title="オナガガモ:♀を追いかける♂たち" rel="lightbox[sinjiko]" >オナガガモ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01529.JPG" title="マガンの群れ:沖の州" rel="lightbox[sinjiko]" >マガンの群れ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01591.JPG" title="キンクロハジロ?" rel="lightbox[sinjiko]" >キンクロハジロ</a>" lng="133.284674" lat="35.44333" category="num02" /> 
  <marker name="3:宍道湖グリーンパーク" address="   <a href="http://n-shuhei.net/atelier/video/digisco_1.wmv" target="_blank">コハクチョウ(video)</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01620.JPG" title="セグロセキレイ" rel="lightbox[sinjiko]" >セグロセキレイ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01632.JPG" title="トビ?" rel="lightbox[sinjiko]" >トビ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_birds/0911211.jpg" title="ジョウビダキ?" rel="lightbox[sinjiko]" >ジョウビダキ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4872.JPG" title="ゴビウスにある水槽" rel="lightbox[sinjiko]">ゴビウスにある水槽</a>" lng="132.866077" lat="35.444729" category="num03" /> 
  <marker name="4:出雲大社" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4886.JPG" title="出雲大社にて" rel="lightbox[sinjiko]">出雲大社にて</a>" lng="132.685919" lat="35.401434" category="num04" /> 
  <marker name="5:足立美術館" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4908.JPG" title="足立美術館の紅葉" rel="lightbox[drive]">足立美術館の紅葉</a><br/>   <a href="http://n-shuhei.net/atelier/photo_drive/Stitched_003.JPG" title="枯山水の庭:3枚の合成写真" rel="lightbox[drive]">枯山水の庭</a><br/>   <a href="http://n-shuhei.net/atelier/DSC_4932.JPG" title="足立美術館:絵画を観ているように" rel="lightbox[drive]">仏間から庭を望む</a>" lng="133.198242" lat="35.377854" category="num05" /> 
  <marker name="6:米子自動車道大山PA" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4720-1.JPG" title="雪化粧した大山:大山PAより" rel="lightbox[sinjiko]">大山の紅葉</a>" lng="133.419342" lat="35.386531" category="num06" /> 
  </markers>


 作成した地図作成の稚拙なHTMLコード(Google Maps API V3 のJavaScript を含む)は、右フレームに掲載している【晩秋の宍道湖私的観光地図】のソース・コードを見ていただければ、わかると思うが、参考までに下に記載し、少しのコメントを加えたいと思う。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 

<title>Google Maps Javascript API v3 Example: Marker Categories</title> 

<!-- jQuery lightbox2.51 -->
<script type="text/javascript" src="http://n-shuhei.net/atelier/Jquery2.51/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="http://n-shuhei.net/atelier/Jquery2.51/js/lightbox.js"></script>
<link rel="stylesheet" type="text/css" href="http://n-shuhei.net/atelier/Jquery2.51/css/lightbox.css" media="screen" />

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="http://n-shuhei.net/atelier/maps/V3test/downloadxml.js"></script>
    <title>Google Maps</title>
<style type="text/css">
html, body { height: 100%; } 
</style>
    <script type="text/javascript">
    //<![CDATA[
      // this variable will collect the html which will eventually be placed in the side_bar 
      var side_bar_html = ""; 
      var gmarkers = [];
      var gicons = [];
      var map = null;
var infowindow = new google.maps.InfoWindow(
  { 
    size: new google.maps.Size(150,50)
  });

gicons["01"] = new google.maps.MarkerImage("http://n-shuhei.net/Googlemaps/Markers/marker_01.png",
      // This marker is 20 pixels wide by 34 pixels tall.
      new google.maps.Size(20, 34),
      // The origin for this image is 0,0.
      new google.maps.Point(0,0),
      // The anchor for this image is at 9,34.
      new google.maps.Point(9, 34));
  // Marker sizes are expressed as a Size of X,Y
  // where the origin of the image (0,0) is located
  // in the top left of the image.
  // Origins, anchor positions and coordinates of the marker
  // increase in the X direction to the right and in
  // the Y direction down.

  var iconImage = new google.maps.MarkerImage('http://n-shuhei.net/Googlemaps/Markers/marker_01.png',
      // This marker is 20 pixels wide by 34 pixels tall.
      new google.maps.Size(20, 34),
      // The origin for this image is 0,0.
      new google.maps.Point(0,0),
      // The anchor for this image is at 9,34.
      new google.maps.Point(9, 34));
  var iconShadow = new google.maps.MarkerImage('http://n-shuhei.net/atelier/maps/V3test/msmarker.shadow.png',
      // The shadow image is larger in the horizontal dimension
      // while the position and offset are the same as for the main image.
      new google.maps.Size(37, 34),
      new google.maps.Point(0,0),
      new google.maps.Point(9, 34));
 
function getMarkerImage(iconNum) {
   if ((typeof(iconNum)=="undefined") || (iconNum==null)) { 
      iconNum = "01"; 
   }
   if (!gicons[iconNum]) {
      gicons[iconNum] = new google.maps.MarkerImage("http://n-shuhei.net/Googlemaps/Markers/marker_"+ iconNum +".png",
      // This marker is 20 pixels wide by 34 pixels tall.
      new google.maps.Size(20, 34),
      // The origin for this image is 0,0.
      new google.maps.Point(0,0),
      // The anchor for this image is at 6,20.
      new google.maps.Point(9, 34));
   } 
   return gicons[iconNum];
}

function category2num(category) {
   var num = "01";       
   switch(category) {
     case "num01": num = "01";
                break;
     case "num02": num = "02";
                break;
     case "num03": num = "03";
                break;
     case "num04": num = "04";
                break;
     case "num05": num = "05";
                break;
     case "num06": num = "06";
                break;
     default:   num = "01";
                break;
   }

   return num;
}

      gicons["num01"] = getMarkerImage(category2num("num01"));
      gicons["num02"] = getMarkerImage(category2num("num02"));
      gicons["num03"] = getMarkerImage(category2num("num03"));
      gicons["num04"] = getMarkerImage(category2num("num04"));
      gicons["num05"] = getMarkerImage(category2num("num05"));
      gicons["num06"] = getMarkerImage(category2num("num06"));
      // A function to create the marker and set up the event window
function createMarker(latlng,name,html,category) {
    var contentString = html;
    var marker = new google.maps.Marker({
        position: latlng,
        icon: gicons[category],
        shadow: iconShadow,
        map: map,
        title: name,
        zIndex: Math.round(latlng.lat()*-100000)<<5
        });

        // === Store the category and name info as a marker properties ===
        marker.mycategory = category;                                 
        marker.myname = name;
        gmarkers.push(marker);

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(contentString); 
        infowindow.open(map,marker);
        });
}

      // == shows all markers of a particular category, and ensures the checkbox is checked ==
      function show(category) {
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].mycategory == category) {
            gmarkers[i].setVisible(true);
          }
        }

        // == check the checkbox ==
        document.getElementById(category+"box").checked = true;
      }

      // == hides all markers of a particular category, and ensures the checkbox is cleared ==
      function hide(category) {
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].mycategory == category) {
            gmarkers[i].setVisible(false);
          }
        }

        // == clear the checkbox ==
        document.getElementById(category+"box").checked = false;
        // == close the info window, in case its open on a marker that we just hid
        infowindow.close();
      }

      // == a checkbox has been clicked ==
      function boxclick(box,category) {
        if (box.checked) {
          show(category);
        } else {
          hide(category);
        }

        // == rebuild the side bar
        makeSidebar();
      }

      function myclick(i) {
        google.maps.event.trigger(gmarkers[i],"click");
      }

      // == rebuilds the sidebar to match the markers currently displayed ==
      function makeSidebar() {
        var html = "";
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].getVisible()) {
            html += '<a href="javascript:myclick(' + i + ')">' + gmarkers[i].myname + '<\/a>' + ' ' ;
          }
        }

        document.getElementById("side_bar").innerHTML = html;
      }

  function initialize() {
    var myOptions = {
      zoom: 10,
      center: new google.maps.LatLng(35.430603,133.012136),   //松江
      mapTypeId: google.maps.MapTypeId.HYBRID
    }
    map = new google.maps.Map(document.getElementById("map"), myOptions);
    google.maps.event.addListener(map, 'click', function() {
        infowindow.close();
        });

      // Read the data
      downloadUrl("http://n-shuhei.net/atelier/maps/V3_sinnjiko_num.xml", function(doc) {
  var xml = xmlParse(doc);
  var markers = xml.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {
          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new google.maps.LatLng(lat,lng);
          var address = markers[i].getAttribute("address");
          var name = markers[i].getAttribute("name");
          var html = "<b>"+name+"<\/b><p>"+address;
          var category = markers[i].getAttribute("category");
          // create the marker
          var marker = createMarker(point,name,html,category);
        }

        // == create the initial sidebar ==
        makeSidebar();
      });
    }

    //]]>
    </script>
  </head>

<body style="margin:0px; padding:0px;" onload="initialize()"> 
    <!-- you can use tables or divs for the overall layout -->
    <table border=1 >
<tr><td align="center"style="width:1000px; background-color: #ffffe0;" ><br /><h2>晩秋の宍道湖私的観光地図</h2></td></tr>      
<tr><td>
           <div id="map" style="width: 1000px; height: 500px"></div>
        </td></tr><tr>
<td valign="top" style="width:1000px; background-color: #ffffe0; font-size: small;"> 
 上の地図は、Google Mapsの機能を持っています。拡大・縮小・移動ができます。下の該当番号をクリックすると該当番号マーカーに吹きだしが出てきます。その吹き出しにある青文字をクリックすると写真(一部 動画)がでてきます。</td></tr><tr>
        <td valign="top" style="width:1000px; background-color: #ffffe0; font-size: small;"> 
           <div id="side_bar"></div>
        </td>
      </tr>
    </table>


    <noscript><b>JavaScript must be enabled in order for you to use Google Maps.</b> 
      However, it seems JavaScript is either disabled or not supported by your browser. 
      To view Google Maps, enable JavaScript by changing your browser options, and then 
      try again.
    </noscript>

<br /><br />
<!-- Google AdSense -->
<script type="text/javascript"><!--
google_ad_client = "pub-8556873278052332";
/* AdSense foot ad */
google_ad_slot = "1589991765";
google_ad_width = 728;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
  </body>
</html>


  • 番号付きマーカーは、dLINKbRING というサイトからダウンロードできる
  • 表示する地図を、ラベル付き航空写真とするには、mapTypeId: google.maps.MapTypeId.HYBRID とすればよい。通常は、HYBRID の部分が、ROADMAP となっている。
  • マーカーをクリックしてでる吹きだしの中に表示される写真リンクをクリックして出てくる写真を、同一画面の中央に表示するJavaScript ソフト lightbox は機能する。 jQuerylightbox2.51 を使った。


2012年9月21日

隠居の探鳥・蝶ウォーク:センニチコウ ヒョウモンチョウも 匂い嗅ぎ


 秋分の日があさってに迫って、ようやく朝の散策を再開する気になった。暑さにかまけて、1ヶ月半ほど歩いていなかった地元栂・美木多を歩くことにした。自宅から南部のコースである。
 やっぱり季節は変わってきている。ケイトウやセンニチコウなど人工的に植えられた花も多いが、葛の花など秋に咲く野草もある。それらの花に、蝶が吸蜜に来る。

 野鳥は年中見られるムクドリやアオサギ、セキレイといった鳥たちである。ケリが5羽、例の甲高い声をさえずりながら、上空を飛んでいた。今は、二十四節気七十二候の四十五候:玄鳥去(つばめさる)であるが、たしかに飛び交っていたツバメは南方に飛び去ってしまった。

ケイトウ;クリックすると大きな写真になります コスモス;クリックすると大きな写真になります 葛の花;クリックすると大きな写真になります ヒロハホウキギク;クリックすると大きな写真になります
ケイトウ:檜尾(堺)
2012/9/20
NikonD7000
ΣAPO50-500mm
78mm(35mm相当117mm)
シャッター優先オート(1/800s ISO1100 F5.0)
露出補正 なし
コスモス:檜尾(堺)
2012/9/20
NikonD7000
ΣAPO50-500mm
140mm(35mm相当210mm)
シャッター優先オート(1/800s ISO1250 F5.6)
露出補正 なし
葛の花:檜尾(堺)
2012/9/20
NikonD7000
ΣAPO50-500mm
50mm(35mm相当75mm)
シャッター優先オート(1/800s ISO360 F4.5)
露出補正 なし
ヒロハホウキギク:檜尾(堺)
2012/9/20
NikonD7000
ΣAPO50-500mm
58mm(35mm相当87mm)
シャッター優先オート(1/800s ISO500F4.8)
露出補正 なし

キタテハ;クリックすると大きな写真になります ナミアゲハ;クリックすると大きな写真になります ツマグロヒョウモン;クリックすると大きな写真になります ウラナミシジミ;クリックすると大きな写真になります
キタテハ:檜尾(堺)
2012/9/20
NikonD7000
ΣAPO50-500mm
500mm(35mm相当750mm)
シャッター優先オート(1/800s ISO1000 F6.3)
露出補正 なし
トリミング
ナミアゲハ:檜尾(堺)
2012/9/20
NikonD7000
ΣAPO50-500mm
500mm(35mm相当750mm)
シャッター優先オート(1/800s ISO2800 F6.3)
露出補正 なし
トリミング
ツマグロヒョウモン:檜尾(堺)
2012/9/20
NikonD7000
ΣAPO50-500mm
380mm(35mm相当570mm)
プログラム・オート(1/250 ISO100 F6.3)
露出補正 なし
ウラナミシジミ:檜尾(堺)
2012/9/20
NikonD7000
ΣAPO50-500mm
210mm(35mm相当315mm)
シャッター優先オート(1/800 ISO800 F6.0)
露出補正 なし
トリミング

カルガモ;クリックすると大きな写真になります ケリ;クリックすると大きな写真になります アオサギ;クリックすると大きな写真になります セグロセキレイ;クリックすると大きな写真になります
カルガモ:和田川(堺)
2012/9/20
NikonD7000
ΣAPO50-500mm
500mm(35mm相当750mm)
シャッター優先オート(1/800s ISO2200 F6.3)
露出補正 なし
トリミング
ケリ:檜尾(堺)
2012/9/20
NikonD7000
ΣAPO50-500mm
380mm(35mm相当570mm)
シャッター優先オート(1/800s ISO100 F6.3)
露出補正 なし
トリミング
アオサギ:和田川(堺)
2012/9/20
NikonD7000
ΣAPO50-500mm
170mm(35mm相当255mm)
シャッター優先オート(1/800s ISO280 F5.6)
露出補正 なし
トリミング
セグロセキレイ:和田川(堺)
2012/9/20
NikonD7000
ΣAPO50-500mm
500mm(35mm相当750mm)
シャッター優先オート(1/800s ISO400 F6.3)
露出補正 なし
トリミング

2012年9月19日

隠居のDIY:廃プラ・リサイクル材を花壇の補修材として使う


 裏庭に花の苗を育てたり養生をするための畳半畳ほどの花壇を、7年以上も前にプロに作ってもらっていた。花壇の回りは枕木ライクの材木をを囲っただけのものである。3年ほどすると、この材木の一部が腐ってきて、材木の上に、薄いブリックを貼った
 だが、元々の枕木ライクな材木が腐ってボロボロになったために、ちょっと上に乗るだけで崩れ落ちるようになってしまった。また、木部はありなどの虫の住み処になってしまった。本格的に補修が必要になった。
 今年6月に、木製のローズアーチを補修したときに使った廃プラのリサイクル材を使えば、水には強くなると考え、和泉リサイクル環境公園ジュリプラスという廃プラスチックをリサイクルした材料を求めることにした。
 ただ、今年の夏は凄まじいほど暑くて、古希を越えた老人は戸外活動は控えていたほうがよさそうなので、涼しくなるのを待っていた。二十四節気の秋分をまもなく迎えるようになって、ようやく戸外でも作業ができるほどになってきたので、補修にとりかかることにした。

 廃プラ・リサイクル材を求めに行くと、ちょうど天然のウリン材に近い色に加工した幅20cm、長さ150cm(厚さ2cm)を売っていた。これを2枚と4cm角長さ30cmで先を尖らせた杭4本を求めた。合計1400円足らずで、ホームセンターで材木を買うことを考えると極めて安い。
 ブリックを取り除きボロボロになったエセ枕木を取り除いてみると、その下にももう一本枕木ライクが下地のモルタルの上に載っていることがわかった。さすがに、プロの作品であるが、使った材料がもう一つだった。単純に杭を打ち、その杭に廃プラ板材をビス止めすれば良いと考えていたが、工事はもう少し複雑になった。
 杭を打つ部分の下地のモルタルをタガネを使ってハンマーで砕いた。杭の長さは30cmだったので、頭が15cmくらい残るくらいに打ち込んだらしっかりと留まった。元々地面は粘土質のためと思う。
 前より少し小さくなるが、150cmX62cm四方の角に打った杭に、ウリン材ライクな廃プラ板材を2X4材用のビスで止めたら、土を支えられるような強度になった。これで、当分は水やりにも耐えられるであろう。何をどのように植えるかは、家内の領分である。

before;クリックすると大きな写真になります 廃プラリサイクル材;クリックすると大きな写真になります 杭を打ち込みビスでとめる;クリックすると大きな写真になります 完成;クリックすると大きな写真になります
before:枕木ライクな枠の木がボロボロになっている 買い求めた廃プラリサイクル材
真ん中の木は、本物のウリン材
杭を打ち込み廃プラリサイクル板材をビスでとめる 完成:打ち込んだ杭に板材をビスで止めただけで単純である。
横の植栽は、左側の花壇に移し替える予定である。


2012年9月17日

二十四節気:白露、 七十二候:玄鳥去(つばめさる)


 右フレーム最下部の二十四節気 七十二候を更新した。次の二十四節気秋分(9月22日)までの5日間を【玄鳥去(つばめさる)】というらしい。確かに、ツバメはもう飛んでいない。南の方へ飛び去ったらしい。

2012年9月14日

隠居の旅:久しぶりの東京と福島磐梯朝日あたり ー(2):高湯温泉など

 
 バス観光の出発場所は、東京八重洲口の鉄鋼ビル前である。バスはサロンカー、車内宴会用のビールをディスカウントストアで買い付けるために、出発は30分遅れ。首都高を抜けて東北道へ。昼食を予定している宇都宮までの車中では、持ち寄りの酒・ブランデーなどもでて、宴会である。

 昼食は、東北道を宇都宮で一旦降りて、インターチェンジ近くの豪華中華料理店。宇都宮名物の焼き餃子は出なかったが、水餃子・飲茶が美味しかった。
 再び、東北道に戻って、福島西IC で出て多くの果樹園が広がる飯坂町へ。果樹園では、桃(白桃)と梨(幸水)狩りをする。もぎたてを食べるとさすがにジューシーだ。土産に白桃と黄色い桃の詰め合わせを宅急便で送ったら、24時間後にはついていたらしい。なかなか好評だった。
フルーツラインから、県道70号線で曲がりくねった急坂を登って、磐梯吾妻スカイラインの入り口近くの硫黄の匂いがする高湯温泉に到着。乳白色の掛け流し温泉で、残暑でかいた汗を流した。宿の花月ハイランドホテルの大浴場は、大きいいが露天風呂は10人も入ればいっぱいだ。
 夕食後、メンバーの一人の落語まで飛び出して、楽しい飲み会となった。

 翌朝もいい天気だ。朝食前に、宿から1kmあまりの山道を登って、不動の滝といわれるとところに行ってみた。期待した野鳥も蝶々も姿がない。
朝食後、宿からすぐ近くの磐梯吾妻スカイラインへ。現在このあたりの湯量道路は無料開放中である。途中、有毒ガスのため草木が生えていないところを通る。看板には、駐車するなと書いてある。
 吾妻山の山頂付近浄土平レストハウス駐車場には、高級なバイクがずらり並んでいた。どうやら、この道路は、ツーリング族のメッカらしい。
 浄土から桧原湖までの道の両側は、緑の林一色である。下に降りてくると樹々の間から、秋元湖などが見えてくる。バスは桧原湖で小休憩を入れて、会津若松鶴ケ城を経て、南会津の大内宿まで走る。昼食は、大内宿にある三澤屋という蕎麦屋である。大ぶりのあゆの塩焼き、白ネギをかじりながらの大根おろしの辛味がよく効いたぶっかけ冷やし蕎麦(というんだろうか)が、遅めの昼食の腹に沁み込んだ。

 ツアーの行き先はここまでである。あとはひたすら東京まで帰るだけであったが、運転手さんが気を利かせてくれて、ライトアップした東京スカイツリーを一周するように、首都高を走ってくれた。
 1時間半ほど予定より遅れた到着時間に合わせて、大阪までの新幹線の列車は、スマホで簡単に予約変更ができた。世の中便利になったものだ。
 いつもながら、楽しい旅ができるのは、詳細に計画を練ってくれる仲間がいるからだ。Thanks a lot!! 多謝!

 行った先々を、Google Maps API V3 でプロットしてみた。今回は、少し学習して、吹きだしからクリックしてでる写真が、Lightbox (同一画面上に画像を上乗せ表示するためのスクリプト)で見られるようにしてみた。あんまりいい写真はないが。



 

2012年9月13日

二十四節気七十二候:今日から白露:鶺鴒鳴(せきれいなく)

 日中は相変わらず暑いが、朝夕はそれでも秋の気配を感じるようになった。
 本日9月12日から9月16日までの5日間、二十四節気七十二候は、白露ー鶺鴒鳴(せきれいなく)となった。
 これの解説が綺麗な写真やイラストつきで、スマートフォンのアプリ【くらしのこよみ】として、【うつくしいくらしかた研究所】が制作して無料で提供されている。
 ほぼ5日ごとに更新される、この画面をスマートフォンのキャプチャーで切り取って、Photoshopでつなぎあわせた画像を、当ブログの右フレーム最下部に収載している。
 少々、timeconsuming な作業だが、季節感が感じられるので、楽しみながら行なっている。
 ところで、第44候の表紙であるツメナガセキレイには、私はまだ遭遇したことがない。世界に広く分布する鳥だそうだが、日本では渡りの時期にみられるとのことだ。

2012年9月11日

隠居の旅:久しぶりの東京と福島磐梯朝日あたり ー(1):有明


 年一回、情報システム研究会で役員をしていた(している)皆さんとの懇親旅行がある。いつも露天風呂に入ることがメインで、ロテ研と称している。昨年は、平湯温泉の露天風呂を楽しんだ。私は毎回参加しているわけではないが、今回で14回目になるようだ。

 今度の旅は、震災復興へに少しでも貢献ということで、磐梯吾妻スカイライン入口近くにある高湯温泉への東京発の貸切バスでの旅となった。私のような関西組は、前日から東京に出かけることになる。
 それで、この機会に、いつもメーリングリストではなじみではあるが、顔をあわせることが少ない、現役時代同業だった、これも情報システム部関連の仲間の顔をみたいとオフライン・ミーティングをお願いすると快く集まってくれた。台湾びいきのメンバーの一人が選んでくれた台湾料理で、2時間半ほど、話がはずんだ。

 久しぶりの東京で泊まったのは、有明にあるホテル。都心にあるホテルより、緑が多くて海が近い(すべて人工だけど)からだ。
 フロントの案内では、朝食は 5:45 からOK 、混むから早めにという。一番に朝食会場に行ってみると、もうすでにジャージ姿の若者がずらりといる。食事をしながら、近くの若者に なにの部活と聞いてみると、水泳部で、辰巳国際水泳場での試合に出るという。(あとで調べてみると学生選手権が開かれていた。)
 荷物をゆりかもめ国際展示場正門駅のロッカーにあずけて(駅に入場しないと預けられない。SUICA で入って、出るときは駅員さんが処理してくれた。)、駅にすぐ近い有明客船ターミナル付近の海辺を歩いて見ることにした。 

 プロムナードに植えられた百日紅は、盛りをすぎたようだが、それでもまだきれいにピンク色の花を咲かせている。この花に、イチモンジセセリが飛び回っていた。
 運河のような海では、ボラがはねて、これを狙ってかカワウが潜水を繰り返していた。旅行用にと買い求めた Coolpix P510 は、いつも野鳥撮影に使っているNikonD7000+Σ50-500mmに比べるとAF 機能が弱く、動きのあるものは撮り難い。私の腕では、運河の中ほどに立つコンクリート杭に留るユリカモメを撮るのが精一杯である。
 この有明客船ターミナルは震災時の水上輸送基地になるようであるが、付近には地震+津波用の立て看板が目についた。
 朝の早い、ゆりかもめのプラットフォームに、ハクセキレイが散歩していた。

さるすべりにイチモンジセセリ;クリックすると大きな写真になります ユリカモメ;クリックすると大きな写真になります 津波に備えての立て看板;クリックすると大きな写真になります プラットフォームを散歩するハクセキレイ;クリックすると大きな写真になります
さるすべりにイチモンジセセリ:有明客船ターミナル付近
2012/9/8
Coolpix P510 18.7mm
(35m版換算105mm)
絞り優先オート
(ISO100 F8.3 1/60s)
露出補正なし
トリミング
ユリカモメ:有明客船ターミナル付近
2012/9/8
Coolpix P510 180mm
(35m版換算1000mm)
絞り優先オート
(ISO100 F5.9 1/80s)
露出補正なし
トリミング
津波に備えての立て看板:有明客船ターミナル付近
2012/9/8
Coolpix P510 13.3mm
(35m版換算75mm)
絞り優先オート
(ISO100 F7.8 1/500s)
露出補正なし
トリミング
プラットフォームを散歩するハクセキレイ:ゆりかもめ国際展示場正門駅
2012/9/8
Coolpix P510 24mm
(35m版換算135mm)
シャッター優先オート
(ISO800 F4.3 1/500s)
露出補正なし
トリミング

2012年9月 7日

くらしの暦:二十四節気 白露 七十二候 草露白


 二十四節気は白露となったというのに、残暑は収まりそうにもない。
スマートフォンの無料アプリ【くらしの暦】も、今朝、七十二候の草露白(くさのつゆしろし)に変わった。ちょっと拝借して、パソコンに再現してみた。

くらしのこよみ:白露[草露白]
スクロールバーを右端から左へ動かしてください。



 なお、七十二候が替わるたびに、ページの右フレームの下に、掲載している。

2012年9月 5日

隠居の探鳥:残暑厳しい大阪南港野鳥園


 いつも私のブログを覗いてくれている旧友から、TV で南港野鳥園に北から南に向かうシギ類が飛来しているとのニュースで見たことを知らせてくれた。この1ケ月以上、野鳥の写真を掲載したブログがないので、情報を提供してくれたらしい。
南港野鳥園;クリックすると大きな写真になります南港野鳥園;クリックすると大きな写真になります 9月に入って、朝は少し涼しくなったので、子供らの夏休みが終わった9月3日月曜日、行って見ることにした。この南港野鳥園は、大阪咲洲のコンテナ・ターミナルの近くにあり、阪神高速湾岸線を降りて車を走らせると、回りは大型のコンテナ・トレーラばかりで、いささかの恐怖感がある。

 9時開園の展望塔に15分ころ入ってみると、もう3人ほどの人が双眼鏡を覗いていた。が、カワウとカルガモは見えるが、シギ類は見あたらない。展望塔では、観察がしやすいように、干潟向きに椅子が配置され、その前の窓は開けられている。その窓から海からの風が吹き込んで涼しい。久しぶりの涼しい風である。

 「シギ類が見当たりませんね」と双眼鏡を持った学芸員に尋ねてみると、「汐が引いたら出てくると思う」、「今朝、オオタカが上空を舞っていたので、姿を隠したようだ。」ということだった。そのうちに、マニアらしき人たちが5~6人やってきた。皆さん、高価な大砲を三脚に据えている。デジスコの人も一人いた。皆さん顔見知りらしく、昨日はどこどこへ云ってきたような話をしている。どうも毎日野鳥を求めて出歩いているらしい。
 話に加わっていた学芸員が、「今、トウネンが群れで飛んでいる」と教えてくれたが、すぐに干潟から姿を消した。

 この展望塔から観察できる野鳥は、距離が遠い。500mm(35mm換算750mm) くらいのレンズでは、豆粒くらいにしか捉えられない。1.4倍のテレコンバータをいれてみたが、Auto Focus が効かないので、重いカメラを抱えてのピント合わせは極めて難しい。ここにくるときは、デジスコセットが必要であろう。少なくとも三脚は必要である。
 南港野鳥園のページにのっている写真を見ると、ため息がでるような写真が掲載されている。100万円ちかくする望遠レンズをつけたカメラで撮ったものだろう。

 1時間半ほど粘ってもみたが、シギ類は現れない。諦めて帰り支度をしていると、比較的近くに、ソリハシシギが1羽現れた。

 敷地内にある森には、オオルリなども来るそうなので、少し歩いてみたが、シジュウカラが微かに撮れたくらいで、他には何もよう見つけなかった。

カワウ;クリックすると大きな写真になります カルガモ;クリックすると大きな写真になります カワウとダイサギ;クリックすると大きな写真になります ソリハシシギ;クリックすると大きな写真になります
カワウ:南港野鳥園
2012/9/3
NikonD7000
ΣAPO50-500mm
Tele Converter 1.4X
700mm(35mm相当1050mm)
シャッター優先オート(1/800s ISO1400 F9.0)
露出補正 なし
トリミング
カルガモ:南港野鳥園
2012/9/3
NikonD7000
ΣAPO50-500mm
Tele Converter 1.4X
700mm(35mm相当1050mm)
シャッター優先オート(1/800s ISO720 F9.0)
露出補正 1/3
トリミング
カワウとダイサギ:南港野鳥園
2012/9/3
NikonD7000
ΣAPO50-500mm 500mm
(35mm相当750mm)
シャッター優先オート(1/800s ISO280 F6..3)
露出補正 なし
トリミング
ソリハシシギ:南港野鳥園
2012/9/3
NikonD7000
ΣAPO50-500mm 500mm
(35mm相当750mm)
シャッター優先オート(1/800s ISO400 F6..3)
露出補正 なし
トリミング


2012年9月 2日

隠居のパソコン備忘録: Google Maps API JS V3 で、カテゴリー別に色違いマーカーを表示する


 酷暑で屋外での活動は歳を考えて自粛していた。それで、自然とパソコンに向かう時間が多くなっていた。取り組んだのは、V3 にバージョンアップした Google Maps JS API で旅行地図などを作成するなどのいろいろなトライである。

 といっても、一から Google Maps JS API で希望する地図を作成する能力はないから、公開されている人様のコードをいじることが主体である。このようなときに、重宝させていただいているのは、Using the Google Maps API v3にあるサンプルである。
 Mike Williams' tutorial というサイトで V2 でサンプル表示されていた More advanced stuff - Part 25 Marker Categoriesを、V3 コードに置き換えた translated to v3というのが紹介されている。これを利用すれば、野鳥撮影地点を種別に表示するときなどに使えそうと思い自分のできる範囲でいじって見ることにした。

 このような作業をする時の手順は、だいたい次のようにしており、備忘録として記録しておきたい。
  1. サンプル画面のソース・コード(IE の場合、メニューバーの表示⇒ソース)を取得する。これを、テキスト編集ソフト(私の場合:秀丸)にコピペし、名前をつけて、適当なフォルダーに、html ファイルとして保存する。
  2. サンプルコードで使用されている Javascript ユティリティ ファイル(今回の例では、downloadxml.js ファイル)や使用するマーカイメージ・ファイル(今回のサンプルでは、marker_red.png のようなファイル)を用意し、ファイル転送ソフト(私の場合:FFFTP )でサーバー(私の場合:Xserver )上の適当なフォルダーにアップロードしておく。
  3. サンプル・コードで使用されている xml ファイル(普通はサンプル・コード内で相対パスで表示されている。これを絶対パスにして、ブラウザで表示させる)をC&P して、秀丸の新しいファイルとする。適当な名前(xmlファイルで)で保存する。これも、先ほどと同じサーバー上の同じフォルダーにアップロードしておく。
  4. 秀丸画面で、自分の環境に合うように、サンプルコードのそれらのファイルの path を書き換える。私の場合、ミスがないように、絶対パスで書くことにしている。
  5. 自分のサーバー環境に合わせたサンプル・コードをブラウザで表示してみる。これで、參照サンプルと同じように表示されたら、サンプルのコピーは成功である。
  6. このサンプルコードを少しづついじって、目的とする地図(今回、地元の公園・ホームセンター・大型電気店を種別( category )に表示することを目指した。)に近づけていく。先ず、地図の中心を地元にするために、地図の center 緯度・経度を置き換えた。
  7. と同時に、xml ファイルも、サンプルで使われているファイルを真似して、新たに日本語を含むファイルを作って(XML ファイルの編集は、XmlNotepad を使っている)サーバー上にアップロードした。(日本語のエンコードは、UTF-8 )
  8. その他、category の名前を変えたことに対応する修正などを加えて保存、サーバーにアップロードして、ブラウザで表示してみた。地図やチェックボックス、日本語のサイドバーは、期待通り表示されたが、肝心のマーカーが表示されない。元のサンプルコードと見比べながら、チェックしてみたが、原因が分からない。
    JavaScriptや HTML のコードは、カンマ一つ抜けても動かないことがあるので、再度やり直すなど作業を続けて見たが、うまくいかない。
  9. 3日間ほど悩んで、諦めかけていたが、原因はどうやら XML ファイルにあるらしいと思われたので、再度フィルを眺めていると、ing(longitude:経度) と lat(latitude:緯度)の数字が入れ替わっていることに気がついた。今まで、このような XML ファイルは lat ⇒ lng という順序で記入していたのに、今回使ったサンプル XML ファイルは順序が逆になっていたのだ。サンプル XML ファイルの経度・緯度が海外の地点を示していたので、気づくのが遅れたらしい。
     数字を入れ替えてみると期待通りに表示されるようになった。ミスというのは大体において、このようにうっかりミスが多いものだが、ついつい難しく考えてしまいがちだ。
  10. このサンプルコードを土台に、マーカーの吹きだし(infowindow) に画像やリンクURL を表示を試みたが、それらも OK のようである。
     なお、写真の表示が、画面の中心に表示され背景がフェードアウトする lightbox も使えるので、今後いろいろな応用ができるのではないかと考えている。


 作成例:泉北ニュータウンの公園・ホームセンター・大型電気店地図 サンプル・ページ