Google Mapper V3 バージョンアップ(0.6.0)

Google Mapper V3をバージョンアップしました。0.6.0です。

下記の機能が追加されました。

  • Placesライブラリを使って地図上にレストラン・ホテル・公共施設等さまざまなスポットを表示するshowPlaces()
    (クリックするとスポットの詳細ページへのリンクを表示します。ちょっと工夫するとホテル 旅館 × 地図から検索のように、宿泊施設だけは表示しないでその他のスポットのみ表示する、なんてこともできます。)
  • Placesライブラリを使って検索窓にサジェスト能力を与えるsetAutocomplete()
  • Markerをすべて削除するremoveAllMarkers()
  • HTMLエスケープをするescape()
  • ブラウザにJavaScriptコンソールがある場合のみコンソールにログを表示するlog()

 

その他の主な変更点は下記の通りです。

  • 吹き出し(InfoWindow)を1つしか使わないようにした(1つのInfoWindowを移動したり非表示にしたりして使いまわす)
  • load()で読み込むGoogle MapsのJavaScriptのドメインをmaps.googleapis.comに変更
  • show()にオプションパラメータを渡せるようにした
  • デフォルトでコンビニ等を表示するようにした
  • 吹き出し型Markerの位置を調整
  • search()で1件ヒットしたときにズームするようにした
  • search()のヒット件数の閾値をメンバ変数から直書きに変更
  • Google Maps APIのDirections関連の定数名の仕様変更に対応

 

GAddress Finder バージョンアップ(0.1.1)

なぜか急にアクセスが増えたJavaScriptで郵便番号から住所を取得するGAddress Finderにバグがあったのでバージョンアップしました。バージョンアップ後のバージョン番号は0.1.1です。

バグの内容は、取得した住所の都府県名が3文字で、かつ市名の最初の1文字が「都道府県」のいずれか(東京都府中市(183-0003 等)、宮崎県都城市(885-0034 等)、など)の場合に、「都道府県」と「それ以外」の切り分けを間違えるというものです。

正規表現がちょっと甘かったのです。

既にバージョン0.1.0をご利用の方は、お手数ですが最新バージョンをダウンロードし直してください。

 

未公開だったGreasemonkeyを3つuserscripts.orgで公開

自分では使っていたけどなんとなく未公開だったFirefox向けのGreasemonkeyを、これまたなんとなく自分のサイトではなくUserscripts.orgで公開してみました。

公開したのはこの3つです。

  • QA site ordering by No. (OKWave等の質問サイトで回答が「新着順」の場合、「回答順」のページに切り替える)
  • delicious_url_fixer (FirefoxアドオンのSBMカウンターでDeliciousのページを開いたときにURLがおかしくなるのを修正する)
  • Postgres Newest Docs (ja) (PostgreSQL日本語マニュアルのサイトに来た時に最新版のページに遷移する)

このうちPostres Newest Docsは結局自分ではもう使っていませんが勢いで公開しておきます。誰かの役に立つかもしれないし。

Userscripts.orgへの登録は初めてなので、様子を見て他のスクリプトも登録するかどうか考えようと思います。

DB不要、JavaScriptのみで郵便番号から住所を取得できるツールを作った

GAddress Finderを作りました。

郵便番号を元に、Google日本語入力APIからJSONPで住所データを取得します。
そしてそれをいい感じに住所入力フォームにセットします。
さらに、郵便番号にハイフンが入っていない場合はハイフンを入れて、数字やハイフンが全角の場合は半角にします。

これを応用すれば、郵便番号だけでなくいろんなものを変換したりリストアップしたり色々なことができそうで夢が広がりますが、とりあえず何も思いつきません。(時間があったら調べようかな?)

 

GCalendar Holidays バージョンアップ(0.4.0)jQuery UI Datepickerの土日に背景色を表示

GoogleカレンダーからJSONPで日本の祝日情報を取得するJavaScriptライブラリのGCalendar Holidaysをバージョンアップしました。バージョン番号は0.4.0です。

大きな変更点は、jQuery UI Datepickerを合わせて使った場合に、Datepikcerの土曜日・日曜日に背景色を塗るようにしたことです。

jQuery UI DatepickerはCSSで土日をまとめて指定するのは簡単(class属性にui-datepicker-week-endがあるので)ですが、土曜日と日曜日を別々のスタイルにしようと思うと少しだけ面倒です。(やり方さえ知ってれば難しくはないのですが。)
そこで、祝日に色を付けるついてに土日にもそれぞれ色を付けるようにしてみました。

GCalHolidays.datepickerStylesにスタイルを設定すれば、表示するスタイルを変更することもできます。
文字色を変更したい場合や、逆に背景色を変更したくない場合などはこれを使ってください。
これに合わせて、これまでコードに埋めていた祝日のスタイル設定もGCalHolidays.datepickerStyles.holidayにセットすることにより外部から変更できるようにしました。

土日祝日の背景色は、Yahho Calendarに比べて濃い目にしてあります。
YUI Calendarに比べてjQuery UI Datepickerは全体的に濃いのでそれに合わせたというのと、jQuery UIはテーマを選択できるのでどのテーマでも無難にするには濃い目の方が都合が良かったためです。
(濃い目だと、背景が薄い感じのテーマでも、背景が黒で文字が白抜きのテーマでもどちらでもある程度なじめるので。)

また、その他の変更点として、Googleカレンダーに登録してあるイベントが月末日でかつ時間が0時0分でない場合、そのイベントが取得できない問題を解消しました。
(id:navさん、ありがとうございます。)

Google Mapper V3 バージョンアップ(0.5.0)

Google Maps API V3を使ってお手軽に地図を表示するJavaScriptライブラリ、 Google Mapper V3をバージョンアップしました。0.5.0です。

主な変更点は下記のとおりです。(一部、前バージョンと互換性が無いので注意してください。)

  • load()によりGoogle Maps APIのJavaScriptを手軽に読み込めるようにした。(もうURLを調べなくてもいいよ。)
    load()を使うと、表示しているWebページがhttps(SSLにより暗号化されている)の場合は、Google Maps APIのJavaScriptもhttps版を取得する。
    また、load()はAdSense等の追加ライブラリにも対応している。
  • OverviewMapControl(地図の右下に表示される縮小地図)が表示されるようになった。
    それにともない、showOkinawa()で表示する沖縄のミニ地図はOverviewMapControlの上の位置に移動した。
  • setStreetView()を追加した。デフォルトではストリートビューの写真は地図上に表示されるのでストリートビューを表示している間は地図が非表示になるが、setStreetView()を使えば手軽に地図とストリートビューを並べて表示することができる。
  • addMarker()で追加したMarkerを配列で保持するようにして、getMarkerIndex()で配列内Indexの取得、removeMaker()でMarkerの削除ができるようにした。(Markerの管理が容易になった。)
  • Markerの独自拡張(openInfoWindow()を追加していた)をやめて、代わりにMarkerの吹き出しを開くopenMarkerWindow()を追加した。
  • Markerの吹き出しの内容を取得するための関数名を、getInfo()からgetMarkerInfo()に変更した。
  • ジオコーディングのコールバック関数をsearchCallback()から無名関数に変更した。
  • ジオコーディング後には該当の場所に吹き出しを表示するようにした。

 

今回は0.5という区切りにふさわしく(?)、重要なパーツを多く含むバージョンアップとなりました。
Google Maps APIに興味のある方は、どうぞGoogle Mapper V3をいじってみてください。

 

GoogleMapperバージョンアップ(0.4.0)- 色んなマーカー表示 & AdSense表示 など

久しぶりにGoogleMapper V3をバージョンアップしました。0.4.0です。

つい先日、Google Maps JavaScript API V3でAdSenseの表示ができるようになったので、それに対応した勢いでバージョンアップとなりました。

あと、だいぶ前からサンプルの方では表示していた(サンプルではBeta版を使っているので、気まぐれに機能追加が反映されている)のですが、カラーマーカー(文字を1文字なら表示可能)や、メッセージを表示できる吹出し型マーカーの表示機能も追加しています。
ちなみにカラーマーカーや吹出し型マーカーには、Google Maps APIではなくGoogle Chart APIを使っています。(V2の時からパメラさん作のライブラリで使われてた非公開のやつが正式にChart APIで公開された感じですね。)

あと細い変更としては、Google Maps API V3が早々にStreet Viewに対応したので、それに付随する細い変更も入れてます。(吹き出し表示時の動きとか。)

ちなみに、AdSense表示時にはGoogle MapsのJavaScriptのURLに「libraries=adsense」を追加しないといけないので注意してください!

Google Maps API V3を使って地図をお手軽に表示 – Google Mapper V3 [ゼロと無限の間に]

Google Mapper V2のシンプルな動作サンプルを追加した

Google Maps API V2に対応したGoogle Mapper V2は、これまで動作サンプル的なものとしてJapan Aquaria Map and Photosものすごい地図へのリンクを貼っておいたが、これらはサンプルとしてはいろいろ付加的なものがついていてGoogle Mapper V2自体を知るには少し分かりづらいかと思った。

そこで、シンプルな動作サンプルとして新たにGoogle Mapper (V2) 動作サンプルを追加した。

まあ時代はもうGoogle Maps API V3で、今更な感はあるけど、V3との比較という意味でもどうぞ。

Yahho Calendar少しだけバージョンアップ(0.4.5)

YUIのJavaScriptカレンダーを日本語化&ポップアップ対応&祝日も表示 – Yahho Calendar [ゼロと無限の間に]

ほとんど変わってないけど。

主な変更点

  • YUIのバージョンを、リビジョンまでの指定から、常にバージョン2.x系の最新を使うように変更
  • IEでカレンダーの後ろにテキストボックスがある場合にテキストボックス内のマウスカーソルがカレンダー越しに透けて見える問題を解消

いつも思うけど、Yahho Calendarのバージョンアップはもうこれで最後かな。

Pryn.js & Pryn.cssバージョンアップ(0.2.5)

読み込むだけでWebページの「おもてなし度」を向上 – Pryn.js & Pryn.css [ゼロと無限の間に]

Pryn.jsの主な変更点

  • HTML5のautofocus属性に対応(autofocus未対応のブラウザでもautoでfocusできる)
  • HTML5のplaceholder属性に対応(placeholder未対応のブラウザでも、テキストボックスに未入力の場合のみメッセージをグレイアウトで表示できる)
  • select要素の選択されているoption要素を簡単に取得できるfunctionを追加(Pryn.getSelected())
  • 四角いBOXをちょっとだけ角丸っぽく見せられるfunctionを追加(Pryn.round())
  • formをsubmitした時のマウスカーソルを「待ってる」感が出るものに変更
  • Stringを拡張してword2regexp()を持たせるのをやめた

Pryn.cssの主な変更点

  • importするYUIのCSSのスキームをスキーム指定無しからhttpsに変更(スキームなしだとIEが2回読み込んでしまう問題を回避するため)
  • テキストボックスの背景色を変えたときに枠線の見た目が変わらないようにした(IE6は非対応)
  • ボタンの見た目のブラウザ間の差異を小さくした。かつ、ボタンを押しやすいように左右のpaddingを広めにした
  • フォントはIE7・IE8はメイリオ、Macはヒラギノ角ゴ、それ以外はブラウザの設定のフォントになるようにした
    (IE6やFirefoxは設定しないとClearTypeが有効にならないので自動でメイリオにするのはやめた。ブラウザの設定等でメイリオにしている人にはFirefox等でもメイリオになる)
  • リンクの色を綺麗な青等にした
  • 角丸(border-radius)のブラウザ別のサンプルを入れた

なんかゴチャゴチャしてきたので、JavaScriptはjQueryベースで書き直したくなってきた。

CSSはjQuery UI CSS Framworkベースで?でもYUIないとクロスブラウザ的に辛いかな...