その1:KML 形式ファイルを作る に目次があります。
前回のその3:アイコン(Marker)の表示からの続きで,今回はアイコンに吹出し(Google Maps API では InfoWindow と呼ばれる)をつけ,アイコンがクリックされた際に1個ずつ表示されるようにする。Google Maps API の version 3 では,複数の InfoWindow が表示できるようになったため,いちいち消してから次を表示しないと画面が吹出しだらけになってしまう(らしい)。なので,今回はアイコンをクリックしたら,全部のInfoWindow を消してから最新のものを表示するようにしてみた。
(追記)その8:InfoWindowの改良で配列を使わない InfoWindow について書いた。
2011年3月18日金曜日
2011年3月16日水曜日
GPSの経路ログ表示にGoogle Maps API V3 を使う (その3:アイコン(Marker)の表示)
その1:KML 形式ファイルを作る に目次があります。
前回のその2:KMLファイルの中身を地図に表示するの続きで,地図上にアイコン(Google の KML では Marker と呼ばれる)を描画しよう。
目標は,
(1) 出発点や終点,停留点などにアイコンを表示させる。
(2) それぞれのアイコンをクリックすると吹出しがでて,その地点の情報やコメントを見せてくれる。
(3) 写真を撮った場所では,写真のサムネイルを表示して,写真を置いているサイトにリンクを張りたい。
としてみた。今回はアイコンを表示する部分について述べよう。吹出しの表示については次回述べる。
前回のその2:KMLファイルの中身を地図に表示するの続きで,地図上にアイコン(Google の KML では Marker と呼ばれる)を描画しよう。
目標は,
(1) 出発点や終点,停留点などにアイコンを表示させる。
(2) それぞれのアイコンをクリックすると吹出しがでて,その地点の情報やコメントを見せてくれる。
(3) 写真を撮った場所では,写真のサムネイルを表示して,写真を置いているサイトにリンクを張りたい。
としてみた。今回はアイコンを表示する部分について述べよう。吹出しの表示については次回述べる。
2011年3月15日火曜日
GPSの経路ログ表示にGoogle Maps API V3 を使う (その2:KMLファイルの中身を地図に表示する)
その1:KML 形式ファイルを作る に目次があります。
前回,その1:KML 形式ファイルを作るというのを書いた。今回はその続きで,いよいよ Google Maps API V3 を使って,KML 形式ファイルに記録した移動経路を地図に載せる。ここでは Google Maps API という JavaScript を用いたツールを使って KML ファイルを読み込んで地図上に経路を作成する。作業としては web ページの html ファイルを一個作成する。ここでは html ファイルについてしか書かないが,実際には Perl で自動的にこの html ファイルを作っている。その際に,どの WayPoint に,どの写真を割り当てるか?などの処理をさせている。つまりは,ここを読んだだけではうまくいかないかも??(なんて無責任…)
前回,その1:KML 形式ファイルを作るというのを書いた。今回はその続きで,いよいよ Google Maps API V3 を使って,KML 形式ファイルに記録した移動経路を地図に載せる。ここでは Google Maps API という JavaScript を用いたツールを使って KML ファイルを読み込んで地図上に経路を作成する。作業としては web ページの html ファイルを一個作成する。ここでは html ファイルについてしか書かないが,実際には Perl で自動的にこの html ファイルを作っている。その際に,どの WayPoint に,どの写真を割り当てるか?などの処理をさせている。つまりは,ここを読んだだけではうまくいかないかも??(なんて無責任…)
2011年3月14日月曜日
GPSの経路ログ表示にGoogle Maps API V3 を使う (その1:KML 形式ファイルを作る)
最近,TripMate850 という GPS ロガーを買い,その経路のログを適度に間引いて Google Map や Yahoo RouteLab で地図に表示してみてる,と書いた(「GPSのログを間引く(折れ線を間引く)」)。この間の投稿では,経路のログの点数が多いので,それを如何に減らすか(如何に間引くか?)について書いた。
今回は,その続きで,Google Map に経路を表示し,出発点や終点,停留点や写真を撮った場所にアイコンを表示させ,さらにアイコンをクリックすると吹出しを出し,アイコン設置場所の住所や撮影した写真を載せるという話。
<<目次>>
GPSのログを間引く(折れ線を間引く) :前回の投稿
GPSの経路ログ表示にGoogle Maps API V3 を使う (その6 (+α) までを考慮したサンプル地図)
・その1:KML 形式ファイルを作る(今回):Google Map 用の KML ファイルを作る
・その2:KMLファイルの中身を地図に表示する:Google Maps API v3 を用いて,JavaScript で Google Map を利用する
・その3:アイコン(Marker)の表示:好きな画像のアイコンを表示する
・その4:吹出し(InfoWindow)の表示:複数の InfoWindow の表示
・その5:センターマークの表示:Marker としてセンターマークを表示する
・その6:吹出しに高度と住所をいれる:Google Geocoder と Google ElevationService の利用
・その7:センターマークの改良:専用 KML ファイルを用いたセンターマークの表示
・その8:InfoWindowの改良:配列を使わずに InfoWindow(吹出し)を作ってみた
・その9:表示範囲の自動設定:表示範囲をKMLデータにfitさせるボタンを用意した(このシリーズの最後の投稿)
今回は,その続きで,Google Map に経路を表示し,出発点や終点,停留点や写真を撮った場所にアイコンを表示させ,さらにアイコンをクリックすると吹出しを出し,アイコン設置場所の住所や撮影した写真を載せるという話。
<<目次>>
GPSのログを間引く(折れ線を間引く) :前回の投稿
GPSの経路ログ表示にGoogle Maps API V3 を使う (その6 (+α) までを考慮したサンプル地図)
・その1:KML 形式ファイルを作る(今回):Google Map 用の KML ファイルを作る
・その2:KMLファイルの中身を地図に表示する:Google Maps API v3 を用いて,JavaScript で Google Map を利用する
・その3:アイコン(Marker)の表示:好きな画像のアイコンを表示する
・その4:吹出し(InfoWindow)の表示:複数の InfoWindow の表示
・その5:センターマークの表示:Marker としてセンターマークを表示する
・その6:吹出しに高度と住所をいれる:Google Geocoder と Google ElevationService の利用
・その7:センターマークの改良:専用 KML ファイルを用いたセンターマークの表示
・その8:InfoWindowの改良:配列を使わずに InfoWindow(吹出し)を作ってみた
・その9:表示範囲の自動設定:表示範囲をKMLデータにfitさせるボタンを用意した(このシリーズの最後の投稿)
2011年3月1日火曜日
GPSのログを間引く(折れ線を間引く)
先日,オークションサイトの eBay で TripMate850 という GPS ロガーを買ってみた。昔のネット上の記事だと 79 ドルで買えたそうだが,今回は送料として 20 ドル上積みされて 99 ドルで買った。さて,性能はというと,結構これがいい感じ。やっぱデジカメについているようなものとは質が違う。きっと GPS 用のチップやアンテナも良くなってきてるに違いない。
さて,ここからが本題。TripMate850 は,ログを1秒間隔,5秒間隔,15秒間隔,30秒間隔,5分間隔,10分間隔,と記録できる。他にもスマートログと称して,30km/h以上だと5秒間隔,4km/h以上なら10秒間隔,4km/h未満なら15秒間隔,と記録するモードもある。私の場合はバイクでのツーリングの記録に使いたいと思っている。さすがに1秒間隔のログはいらないのでは?と思っている。スマートログもよいけど,5秒間隔のログがいいような気がしているが,まだ長距離を走ってのログがないので,これからちょこちょこ調べようと思っている。
さて,ここからが本題。TripMate850 は,ログを1秒間隔,5秒間隔,15秒間隔,30秒間隔,5分間隔,10分間隔,と記録できる。他にもスマートログと称して,30km/h以上だと5秒間隔,4km/h以上なら10秒間隔,4km/h未満なら15秒間隔,と記録するモードもある。私の場合はバイクでのツーリングの記録に使いたいと思っている。さすがに1秒間隔のログはいらないのでは?と思っている。スマートログもよいけど,5秒間隔のログがいいような気がしているが,まだ長距離を走ってのログがないので,これからちょこちょこ調べようと思っている。
2011年1月30日日曜日
Intel iMacのHDD換装
2011/1/28
iMacのHDDの空きスペースが少なくなってきたので,HDDを換装してみた。
まずはネットで下調べをした。参考にしたのは以下のサイト
・アスキーの記事:3ページあって,2ページ目と3ページ目がHDDの換装の記事
・Melanges (きむらつよし氏のブログ)
・KandaNewsNetwork・神田敏晶氏のブログ
いずれも結構参考になったのだが,特に参考になったのは神田氏のブログでリンクを張っているYouTubeの動画。ああいうのがあると分かりやすいねぇ。ちなみに動画(アメリカ人?)ではHDDを固定しているゴムのストッパー(アスキーの記事ではレバーと書いてある)が固定されてないように見えるが,私がHDDを換装したマシンはきむら氏のブログのように取りにくいネジで固定されていた。
また,きむら氏のブログでメモリスロットの蓋を取るのを忘れてはいけない,というのも参考になった。ただ,ゴムのストッパー(きむら氏もレバーと書いている)を動かすのが固いと書いてあったが,私が動かした限り言うほど堅いイメージはなかった。また,液晶パネルを完全に外さずに,手前に台を置いてそこに伏せる,というアイデアはすごくいいと思って真似させていただいた。ひとつだけわからなかったのが,どのサイトも換装後の復旧についてはコメントがなかった。みんな苦労せずに換装後に復旧できたのかなぁ?ちなみに私はフォーマットをしなおしたりしないといけなかった…。私が安いwindows用のHDDを買ってきたのが悪かっただけ??
(註:買ったのは,内蔵用だけど国内メーカーの箱入り娘だったので,ほんとは決して安物じゃありません。念のため…)
ここに載せた写真は,参考にしたサイトに載ってないような物を載せた。さすがにアスキーのサイトのようなきれいな写真はなかなかうまく撮れないので,それは参考にしたサイトに任せて,ここでは皆さんの参考になりそうな物を載せたつもり。例えば,外さないといけないコネクタなど。また,写真はクリックするともう少し大きなサイズになります。
iMacのHDDの空きスペースが少なくなってきたので,HDDを換装してみた。
まずはネットで下調べをした。参考にしたのは以下のサイト
・アスキーの記事:3ページあって,2ページ目と3ページ目がHDDの換装の記事
・Melanges (きむらつよし氏のブログ)
・KandaNewsNetwork・神田敏晶氏のブログ
いずれも結構参考になったのだが,特に参考になったのは神田氏のブログでリンクを張っているYouTubeの動画。ああいうのがあると分かりやすいねぇ。ちなみに動画(アメリカ人?)ではHDDを固定しているゴムのストッパー(アスキーの記事ではレバーと書いてある)が固定されてないように見えるが,私がHDDを換装したマシンはきむら氏のブログのように取りにくいネジで固定されていた。
また,きむら氏のブログでメモリスロットの蓋を取るのを忘れてはいけない,というのも参考になった。ただ,ゴムのストッパー(きむら氏もレバーと書いている)を動かすのが固いと書いてあったが,私が動かした限り言うほど堅いイメージはなかった。また,液晶パネルを完全に外さずに,手前に台を置いてそこに伏せる,というアイデアはすごくいいと思って真似させていただいた。ひとつだけわからなかったのが,どのサイトも換装後の復旧についてはコメントがなかった。みんな苦労せずに換装後に復旧できたのかなぁ?ちなみに私はフォーマットをしなおしたりしないといけなかった…。私が安いwindows用のHDDを買ってきたのが悪かっただけ??
(註:買ったのは,内蔵用だけど国内メーカーの箱入り娘だったので,ほんとは決して安物じゃありません。念のため…)
ここに載せた写真は,参考にしたサイトに載ってないような物を載せた。さすがにアスキーのサイトのようなきれいな写真はなかなかうまく撮れないので,それは参考にしたサイトに任せて,ここでは皆さんの参考になりそうな物を載せたつもり。例えば,外さないといけないコネクタなど。また,写真はクリックするともう少し大きなサイズになります。
2011年1月20日木曜日
FreeBSDでPerlのバージョンを5.10から5.12にする
とあるサーバーで FreeBSD を使っているのだが,Perlのバージョンが 5.10 のままだった。ところが,/usr/ports/UPDATING を見ると,最新版は 5.12 みたいだった。そこで Perl のアップデートに挑戦した。まずは,/usr/ports/UPDATING の記述を見る。すると,
20100915:
AFFECTS: users of lang/perl5.12
AUTHOR: skv@FreeBSD.org
lang/perl5.12 has been updated to 5.12.2. You should update everything
that depends on perl. The easiest way to do that is to use
"perl-after-upgrade" script supplied with lang/perl5.12.
Please see its manual page for details.
If you want to switch to lang/perl5.12 from lang/perl5.{8,10} please
follow instructions in the entry 20100715 in this file.
というのがあったが,結局は次の(下の)エントリーを見ろということだった。
20100715:
AFFECTS: users of lang/perl*
AUTHOR: skv@FreeBSD.org
lang/perl5.12 is out. If you want to switch to it from, for example
lang/perl5.10, that is:
Portupgrade users:
0) Fix pkgdb.db (for safety):
pkgdb -Ff
1) Reinstall new version of Perl (5.12):
env DISABLE_CONFLICTS=1 portupgrade -o lang/perl5.12 -f perl-5.10.¥*
2) Reinstall everything that depends on Perl:
portupgrade -fr perl
Portmaster users:
portmaster -o lang/perl5.12 lang/perl5.10
Conservative:
portmaster p5-
Comprehensive (but perhaps overkill):
portmaster -r perl-
Note: If the "perl-" glob matches more than one port you will need to
specify the name of the Perl directory in /var/db/pkg explicitly.
というのが見つかった。この 2010/7/15 の記述に従って,まず pkgdb -Ff を実行してから,Perlのバージョンを 5.10 から 5.12 にアップデートした。
最後に Perl を使っているアプリケーションを全て強制的に再インストールしたので,その後も問題なく動いている。よかったよかった。
2010年12月5日日曜日
ports のお掃除
FreeBSD でアップデートをしていると,ports の中身や,ダウンロードしたファイルでいらなくなったものがたまってくる。それらを掃除するコマンドがあったのだが,すっかり忘れていた。で,検索して見つけたので,メモがわりにここに書いておこう。
中身は全部他の人が作ったサイトにあったもので,オリジナリティは全然ないけど,メモなので許してください。
中身は全部他の人が作ったサイトにあったもので,オリジナリティは全然ないけど,メモなので許してください。
# portsclean -C:portsのインストールの際に、make cleanし忘れてたとかとかで残ってしまったworkディレクトリ # portsclean -D:バージョンアップで不要となったportsのソースファイル # portsclean -P:バージョンアップで不要となったpackage # portsclean -Ln:重複しているライブラリを表示(-nが重要) # portsclean -Li:重複しているライブラリを対話的にお掃除(-iが重要)
2010年12月4日土曜日
FreeBSD で gtk-2.22.1_1 のインストールにはまる
FreeBSDでweb serverを動かしているのだが,今回,gtk-2.22.1_1 のインストールができなくて困ってしまった。今回はその顛末を書こう。
FreeBSDでアプリケーションをインストールにはportsというのを使うと便利にできている。これはLinuxのrpmなどと同じようなもので(と勝手に思ってる)依存関係や更新も管理してくれる。なので結構重宝している。具体的には,/usr/ports/の下のアプリケーション名のディレクトリに入り,そこにあるMakefileを使って,make install clean とすれば新規にアプリケーションをインストールでき,また,portupgrade や portmaster というコマンドを使うと,アップデートがあれば自動でアップデートを行うことができる。また,/usr/ports/UPDATING というファイルに最新の更新情報が書いてあったりする。また,その ports 自信は cvsup というコマンドで更新できる。
FreeBSDでアプリケーションをインストールにはportsというのを使うと便利にできている。これはLinuxのrpmなどと同じようなもので(と勝手に思ってる)依存関係や更新も管理してくれる。なので結構重宝している。具体的には,/usr/ports/の下のアプリケーション名のディレクトリに入り,そこにあるMakefileを使って,make install clean とすれば新規にアプリケーションをインストールでき,また,portupgrade や portmaster というコマンドを使うと,アップデートがあれば自動でアップデートを行うことができる。また,/usr/ports/UPDATING というファイルに最新の更新情報が書いてあったりする。また,その ports 自信は cvsup というコマンドで更新できる。
2010年11月14日日曜日
IE6 no more !!
ネットのニュースサイトを見ていた時の事,「『IE6』用アプリが『Windows 7』導入の問題に」という記事をみた。私が見たのはやほ~のニュースサイト経由だった。記事の内容はIE6が独自のJavaScriptの文法を持っていて,いちいちサイトをIE6でちゃんと見れるようにするのは大変で,コストがかかるという話。すでにGoogle,YouTube,Yahoo ! Japanなどが,IE6など古いブラウザのサポートを終了しているらしい。なのに未だにIE6以降で最適化しているとどうどうと言うサイト制作者がいるのが信じられないが…
その記事の中に「IE6 no more」というサイトがあると書いてあったので見てみた。そこではIE6はもうやめよう,ということで,簡単なコードをサイトの上の方に埋め込んで,IE6をやめるように世の中に広めよう,というものだった。この考えに私も激しく賛同しているので,自分のサイトに日本語用のコードを埋め込んでみた。ところがこれがうまく確認できなかった。FirefoxでUser Agentをいじったり,IE8で互換モード対応にしてみたりしたがうまくいかなかった。(ちなみにIE6 no moreのサイトの日本語のコードにはミスがあるようで,「IE6はもういらない IE6 No More」の配布コード間違いを見て欲しい)仕方なく,問題のコード見てみた。すると,中身は大体わかったのだが,どうしてもわからかったのがコードの最初と最後の命令(?)文。
最終的にこれが私の嫌いなMicroSoftの「コンディショナルコメント」という事がわかるまでにしばらく時間がかかってしまった。検索しても最初の方にでなかったし…。
これはInternet Explorer独自の命令らしい。webの中にコメントという形でコマンドを入れれる,ってやつ。ここで「it」と思っていたのは「lt」だった。大文字で書くと「LT」。つまり「less than」のことだった。つまり「if lt IE 7」は「IE 7より下のバージョンのIEだったら」という意味だった。それで何が書いてあるかが理解できた。つまりIE6以下のバージョンだったら,警告文を表示する,というもの。ここを「if lt IE 9」とすると IE8 でもメッセージが表示された(当然,確認後すぐに戻したけど。)これで私も IE6 no more 運動に賛同してると意思表示できる!!
(追記)ちなみにこのページにもコードを埋めこんである。でも,そもそもこのサイトってIE6で見れるのかなぁ?
その記事の中に「IE6 no more」というサイトがあると書いてあったので見てみた。そこではIE6はもうやめよう,ということで,簡単なコードをサイトの上の方に埋め込んで,IE6をやめるように世の中に広めよう,というものだった。この考えに私も激しく賛同しているので,自分のサイトに日本語用のコードを埋め込んでみた。ところがこれがうまく確認できなかった。FirefoxでUser Agentをいじったり,IE8で互換モード対応にしてみたりしたがうまくいかなかった。(ちなみにIE6 no moreのサイトの日本語のコードにはミスがあるようで,「IE6はもういらない IE6 No More」の配布コード間違いを見て欲しい)仕方なく,問題のコード見てみた。すると,中身は大体わかったのだが,どうしてもわからかったのがコードの最初と最後の命令(?)文。
<!--[if lt IE 7]> .... <![endif]-->apacheにはそんなやつなかったよなぁ…。だいたい「it」ってなんやろ…?これでしばらく悩んでしまった。
最終的にこれが私の嫌いなMicroSoftの「コンディショナルコメント」という事がわかるまでにしばらく時間がかかってしまった。検索しても最初の方にでなかったし…。
これはInternet Explorer独自の命令らしい。webの中にコメントという形でコマンドを入れれる,ってやつ。ここで「it」と思っていたのは「lt」だった。大文字で書くと「LT」。つまり「less than」のことだった。つまり「if lt IE 7」は「IE 7より下のバージョンのIEだったら」という意味だった。それで何が書いてあるかが理解できた。つまりIE6以下のバージョンだったら,警告文を表示する,というもの。ここを「if lt IE 9」とすると IE8 でもメッセージが表示された(当然,確認後すぐに戻したけど。)これで私も IE6 no more 運動に賛同してると意思表示できる!!
(追記)ちなみにこのページにもコードを埋めこんである。でも,そもそもこのサイトってIE6で見れるのかなぁ?
登録:
投稿 (Atom)