2008-01-06

GGeoXml の吹き出しに表示されるホスト名の正体とは?

GGeoXml を使って Atom+GeoRSS を Google マップに表示してみる
作成者は entry/author/name に対応します。作成者の横のホスト名は feed/link のホスト名のようです。少なくとも entry/link とは対応していません。理解が曖昧なので、今後の課題とします。

上記のとおり、課題であった吹き出しに表示されるホスト名の正体がわかりました。

GGeoXml RSS Overlay という実例の中で flickr の RSS Feed を読み込んでいて、その吹き出しのホスト名は api.flickr.com になっています。がしかし、その RSS Feed の XML 文書を見てみても api.flickr.com という記述が含まれていません。

つまり、吹き出しのホスト名は Feed から抜き出したものではなく Feed を配信したホストそのものであるということです。GGeoXml は任意のホスト(クロスホスト)の Feed を読み込めます。そのため、利用者が安全性などなんらかの判断ができるように、吹き出しの中にどこから配信された Feed であるかを明示するようになっているのだと思います。

よくよく考えればわかりそうなことでしたね。ただ、このホスト名は entry/link もしくはentry/author/uri を表しているように見えてしまいますね。もっと別の表現方法があるのではないかという希望は残りました。

Web開発者のためのRSS & AtomフィードWeb開発者のためのRSS & Atomフィード
ベン ハンマースリー Ben Hammersley 菅野 良二

詳解RSS~RSSを利用したサービスの理論と実践 XML Hacks―エキスパートのためのデータ処理テクニック RSSマーケティング・ガイド 動き始めたWeb2.0ビジネス JavaScript & DHTMLクックブック―Webエキスパート必携テクニック集 Life Hacks PRESS ~デジタル世代の「カイゼン」術~

by G-Tools

GGeoXml を使って Atom+GeoRSS を Google マップに表示してみる

GeoRSS を付与した Atom Feed (Atom Syndication) を Google Maps API の GGeoXml を使って読み込むと、Google マップにエントリの内容を表示できるらしい。ので、さっそく実験してみました。

次のスクリーンショットのように、エントリの位置にマーカーが、エントリの内容が吹き出しに表示されます。実例は GGeoXml を使って Atom+GeoRSS を Google マップに表示してみる から見てください。



JavaScript コードは次のとおりです。Atom Feed の URL を指定して GGeoXml を生成し、それをオーバーレイとして GMap2 に追加するだけです。Atom Feed の内容は、このエントリの末尾に記載しておきます。

なお、GGeoXml を使って読み込んだ Atom Feed は Google 側でキャッシュするようです。ですので、実例では Atom Feed の URL にバージョン番号相当を付与して、キャッシュを防止しています。
<script type="text/javascript">
//<![CDATA[

var map;
var geoXml;

// window.onload
window.onload = function() {
map = new GMap2(document.getElementById('map'));
map.setCenter(new GLatLng(35.689718, 139.691699), 4);

geoXml = new GGeoXml("http://developmentor.lrlab.to/google/geoxml-feed.xml?8");
map.addOverlay(geoXml);
}

//]]>
</script>
<div id="map" style="width:640px; height:480px;"></div>
マーカーの位置である緯度経度は entry/georss:point で決まります。

吹き出し中の見出しのテキストは entry/title、リンク先は entry/link に対応します。

作成者は entry/author/name に対応します。作成者の横のホスト名は feed/link のホスト名のようです。少なくとも entry/link とは対応していません。理解が曖昧なので、今後の課題とします。

作成者の下は feed/summary に対応します。CDATA か テキストを使って XHTML/HTML を記述できます。

Atom Feed の内容は、次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<feed
xmlns="http://www.w3.org/2005/Atom"
xmlns:georss="http://www.georss.org/georss"
>
<title>日本</title>
<link href="http://developmentor.lrlab.to/google/geoxml.html"/>
<updated>2007-01-01T00:00:00Z</updated>
<id>0</id>

<entry>
<title>東京都</title>
<link href="http://www1.lrlab.to/google/geoxml.html?Tokyo"/>
<author>
<name>nakajiman/1</name>
<uri>http://example.com/1</uri>
</author>
<updated>2007-01-01T00:00:00Z</updated>
<id>1</id>
<summary><![CDATA[
トウキョウト<br />
とうきょうと<br />
Tokyo
]]></summary>
<georss:point>35.689718 139.691699</georss:point>
</entry>

<entry>
<title>沖縄県</title>
<link href="http://www2.lrlab.to/google/geoxml.html?Okinawa"/>
<author>
<name>nakajiman/2</name>
<uri>http://example.com/2</uri>
</author>
<updated>2007-01-01T00:00:00Z</updated>
<id>1</id>
<summary><![CDATA[
オキナワケン<br />
おきなわけん<br />
Okinawa
]]></summary>
<georss:point>26.212647 127.680938</georss:point>
</entry>

</feed>

現在 Postal Search Ajax API とは別に Postal Search RESTful API を検討しています。Atom Feed を配信の基本とし、そのデータの編集は AtomPub に準じるというのが、今のところの方針です。そのとき GeoRSS を使って緯度経度を付与するつもりです。

Web開発者のためのRSS & AtomフィードWeb開発者のためのRSS & Atomフィード
ベン ハンマースリー Ben Hammersley 菅野 良二

詳解RSS~RSSを利用したサービスの理論と実践 XML Hacks―エキスパートのためのデータ処理テクニック RSSマーケティング・ガイド 動き始めたWeb2.0ビジネス JavaScript & DHTMLクックブック―Webエキスパート必携テクニック集 Life Hacks PRESS ~デジタル世代の「カイゼン」術~

by G-Tools

2008-01-02

ScanSnap S300 で両面パスワード付きスキャン

先月の上旬に購入していた 富士通 ScanSnap S300 ですが、年明けて時間ができたので、ようやくセットアップして試しスキャンすることができました。これがなかなかです。わたしが求めていたことがちゃんと実現できました。

まず、省スペースであること。必要なときに取り出して素早く使えること。そして、収納するときも邪魔にならないこと。下の写真は A4 ノート PC の上に置いたもので、その小さなサイズは一目瞭然です。



次に、両面スキャンであること。用紙を1度送り出すだけで、表面と裏面を同時にスキャンできます。スキャンした結果を PDF ファイルに保存すると、表面が1ページ、裏面が1ページの合計2ページになります。また、白紙だとスキップしてくれるので、片面のスキャンも兼ねてしまうわけです。

最後に、スキャンして保存した PDF ファイルにパスワードを指定できること。あらかじめパスワードを指定しておけば、第三者に知られると困るような文書をスキャンするとき、自動的にパスワードが設定されるので、かなり手間が省けます。

キャビネットのスペースが不足してきたので、保存が義務付けられていない文書は、どんどんスキャンしていきます。ボタン1つの高速スキャンなので、今はそのスキャンを見ているのがちょっと楽しかったりします。

富士通 ScanSnap S300 楽2ライブラリ パーソナル Lite V4.0セットモデル FI-S300-SR富士通 ScanSnap S300 楽2ライブラリ パーソナル Lite V4.0セットモデル FI-S300-SR

富士通 ScanSnap S300ソフトケース FI-S30SCS 富士通 ScanSnap S300 FI-S300 Microsoft Office Visio Standard 2007 アカデミック プリンストンテクノロジー Bluetooth USB アダプター PTM-UBT3S ビジネスマンのための「発見力」養成講座

by G-Tools

jQuery in Action はいつ届くのかな

Amazon で予約した jQuery in Action は 2008年1月に発送予定でしたが、どうやら遅れてしまうようです。

出版社のサイトや著者のブログを "ざっと" 覗いてみましたが、アナウンスみたいなものは見つけられませんでした。Amazon のステータスは 2008/10 となっていますが、これは信憑性がないと思われます。発送が遅れますよと連絡があってから数日後に発送されたケースも過去にありました。

Manning: jQuery in Action から EARY ACCESS EDITION (電子出版?) を購入できるようですが、Amazon の予約は取り消さずにもうしばらく待ってみます。

Jquery in Action

Learning  jQuery: Better Interaction Design and Web Development With Simple Javascript TechniquesLearning jQuery: Better Interaction Design and Web Development With Simple Javascript Techniques
Jonathan Chaffer Karl Swedberg

Jquery Reference Guide Jquery in Action 2ちゃんねるはなぜ潰れないのか? (扶桑社新書 14) 初めてのJavaScript―Ajax&DOM対応

by G-Tools

2007-12-30

郵便番号から住所を検索する Google ガジェットを作ってみました

入力した郵便番号の住所、フリガナ、緯度経度を表示する Google ガジェットを作ってみました。Add to Google ボタンをクリックして、あなたの iGoogle に追加できます。

スクリーンショット
Add to Google

7桁の郵便番号を入力すると、その郵便番号の住所、フリガナ、緯度経度の検索をはじめます。検索ボタンは使えますがオマケです。検索結果の住所、フリガナ、緯度経度は、テキストエリアに表示して選択状態になりますので、そのままコピーして素早く使えます。

この Google ガジェットは Postal Search Ajax API を使って実現しています。その仕組みやソースコードに関心がありましたら、郵便番号から住所を検索するガジェット を見てくださいね。

今年はこの投稿が最後になりそうです。では、良いお年を!

Vista、Google、Yahoo! 対応 ガジェットプログラミングのためのJavaScript入門Vista、Google、Yahoo! 対応 ガジェットプログラミングのためのJavaScript入門
アスキー書籍編集部

Googleガジェットプログラミング入門 Windows Vistaガジェットプログラミング JavaScriptで作るVistaガジェット GIZMO Programmer’s Bible―FLASHによるガジェット開発 まるごとJavaScript & Ajax ! Vol.1

by G-Tools

Google Gears スタートガイドが届きました。付録の SQLite 簡易リファレンスがニーズを満たしてくれました。

ようやく Google Gears スタートガイド が手元に届きました。

SQLite Home Page の Documentation の読み方がわからなかったため、この本の SQLite の解説に期待していたのですが、その要望に応えてくれるものでした。

その中でも、次の付録が20ページほどで、コンパクトに整理されているので、とても役立ちます。SQLite 自体で何ができるのかすぐに把握できましたし、Google Gears の SQLite の特徴や制限が明示されているので、他の SQLite の文献をあたるときも混乱せずに済みそうです。
Appendix 1 Gears データベースリファレンス
A.1 SQLite の特徴的な機能
A.2 Gears における SQLite の変更点
A.3 SQLite で利用可能な SQL コマンド一覧
A.4 SQLite で利用可能な SQL 関数一覧
Google Gearsスタートガイド

あと Dojo Toolkit の off パッケージや GearsORM といったフレームワークの紹介が興味深いです。ちょこっと jQuery Gears なんてことを考えていたので刺激になりました。

2007-12-29

Google Gadgets の高さを自動調整する方法

たぶん1年くらい前だったと思います。その頃の Google Gadgets は、その表示する内容に応じて高さ height を自動調整する方法がなく(見つからず)、固定しかできないと諦めていました。

久々に Google Gadgets を作る機会があり、ドキュメントを読み直してみると、Google Gadgets API Reference の JavaScript Libraries の中に、高さを自動調整してくれるライブラリがあるではないですか!

次のように Require 要素を使って dynamic-height ライブラリをインポートして、
<ModulePrefs 
title="郵便番号から住所を検索する"
>
<Require feature="dynamic-height" />
</ModulePrefs>
ページをロードしたときに _IG_AdjustIFrameHeight を呼び出します。
jQuery(function($) {
_IG_AdjustIFrameHeight();
・・・
});
これだけで、コンテンツの内容に応じて、Google Gadgets の高さが自動調整されます。

ただし、表示した後に高さを調整するため、高さの初期値を変えるものではありません。ですので、あらかじめ高さを決められるなら ModulePrefs 要素の height 属性を使うべきですね。

Googleガジェットプログラミング入門Googleガジェットプログラミング入門
井上 章

Windows Vistaガジェットプログラミング Vista、Google、Yahoo! 対応 ガジェットプログラミングのためのJavaScript入門 JavaScriptで作るVistaガジェット まるごとJavaScript & Ajax ! Vol.1 GIZMO Programmer’s Bible―FLASHによるガジェット開発

by G-Tools