Main menu:


 

2007年 7月
« 6月   8月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

最近の投稿

最近のコメント

カテゴリー

アーカイブ

 

運営サイト

Twitter

MAの輪

リンク

RSS

ʸۿƱ

Profile

社会人を始めた時にはコンサルタントという名のC/C++プログラマーでした。それから12年、プログラミングから離れて10年近く、似非エンジニアと周りには言われつつ、35歳を目前になんだかやたら燃えてます。最近はRubyを覚えたいなと本を買ったのはいいけど、PHP/JavaScriptの便利さに引きずり込まれ、何もできていない状況、、、

 

MA3

最優秀賞を頂きました!

2007/07

[メモ][ 開発日誌]クレジット表記

これまで、クレジット表記はフッター(というか下のパネルが開いたときのフッター)からしか見れなかったのですが、さすがに分かりにくいので上部メニューの一番左側に→ONGMAP.COM is powered byこういうボタンを設けました。

ボタンを押すと、地図に「Maximize me!」というインフォウィンドウが表示されるので、このインフォウィンドウの右上の「+」を押してもらえば、ONGMAP.COMでお世話になっているサイト・情報元の一覧が表示されます(ちなみに、地図がVirtual Earthの時は、ごめんなさい、できません)

ちなみに、Google Mapsでインフォウィンドウを最大化する「+」の表示の仕方ですが、APIのレファレンスには書かれていないんですが、

var marker = new GMarker(...);

marker.openInfoWindowHtml(..., {maxUrl:"hoge.html"});

みたいな形で指定してあげればできます。

[開発日誌]機能追加>レストラン検索(Hotpepper)

本日2つめの機能追加です。

たまたま、HotpepperのWebサービスを眺めていたら、検索条件に「ペット可」とか「子連れ可」なんかがあることを発見したので、追加してみました。

これまでは、レストラン検索(飲食店検索)は 食べログ.comのAPIだけだったのですが、これを「評判順検索」と名称変更して、HotpepperのAPIを利用した、「子連れOK」、「ペット同伴可」、「個室有り」を飲食店検索のサブメニューとして追加しました(左側のメニューの「検索する」の下の「飲食店検索」の下からアクセスできます)。

実は、歩き始めた1歳男児の父親だったりするんですが、子連れOKじゃないお店って結構あるんですよね(実際に私がお店の人でも、うちの息子の暴れっぷり叫びっぷりを見てると断りたくなると思います、、、)。なので、外食するときはぐるなびで「子連れOK」や「個室有り」で検索したりしてます。なので、本当はぐるなびのAPIを使いたかったんですが、なぜか子連れの検索条件が指定できないんですよね。

というわけで、Hotpepperを利用させてもらいました。

でも、やっぱり、子連れOK、そんなに沢山はひっかかりませんね(涙)

[開発日誌]機能追加>イベント検索(Eventful.com)

イベント検索機能を追加しました。左側のメニューの中の「検索する」の下に「イベント検索」ができています。

と、言っても、ほとんど英語です。さらに、アメリカ以外の国では位置情報はものすごくアバウトです(例えば東京では今日現在100件以上のイベントが登録されているのですが、ほぼ全部が同じ場所にマッピングされます)。

ただ、イベントの個別詳細を見ていけば場所に関する詳細情報にはたどり着けると思うので、興味のある方は使ってみてください。

今回利用させてもらったAPIは、Eventful.comの APIなんですが、他にもYahooに買収されたUpcomingZvents.comなんかも検討したんですが、Upcomingについてはアメリカ国外のイベントについては緯度経度を返してくれなかったり、Zventsについては日本のイベントが全くなかったりしたので、位置情報が少々(かなり?)怪しくても、とりあえずEventful.comを利用しました。

あと、日本語コンテンツも当然やりたいのですが、僕が知っている範囲では、Eventcastが 唯一類似のサービス&APIを公開しているんですが、残念ながらまだ緯度経度での検索はサポートされていません。今後に期待したいと思います。

[メモ]あ~あ

urchinの設定間違ってた・・・

今日気が付いた・・・

ログが増えている割には、Google Analyticsのトラフィック全然だな、と思ってたら全然違うコードを設定していた、、、

なんだかなぁ、、、

[メモ]Google MapsとMS Virtual Earthの使い分け

今のところ、ONGMAP.COMでは、Google Maps(GMap)とMS Virtual Earth(VE)を切り替えられるようにしているわけですが、実はあまり深い意味はありません。

ただ、時には使い分けると便利だったりします。

今日発見したのが、GMapでタイ(Thailand)を表示すると、英語ではなく、タイ語で地名が表示されるということ。英語表記だとばかり思っていたら、タイ語なので、バンコクがどこにあるか、プーケットがどこにあるかさっぱり分かりません。

で、試しにVEに切り替えてみると、英語表記。タイの地図を見るなら、VE。

あと、韓国や中国なんかの国は、GMapでは白地図です。何の情報も載っていない。VEだと日本ほど詳細ではないものの、そこそこの情報量は載っています。韓国・中国も、VE。

あと、GMapの航空写真は意外と古かったりもします。

ということで、場合によってはVEを使うと便利なときがあるということが今日わかりました。

ただ、APIのこなれ具合はGMapの方がまだ一枚上かなという印象です(ただ、使い慣れているというだけですが。VEのinfoWindowはまだやり方がよく分からないし)。

あと余談ですが、GMapとVE以外にYahoo! Local Mapsがありますが、これは、、、。欧米以外はさっぱり情報が無いです。日本はYahoo!Japanが独自にYahoo!地図情報をやっていてAPIも提供していますが、こっちはこっちで日本地図だけだし。ちょっと、使い勝手が悪すぎる感じです。ただ、Geocodingは使い勝手がいいので使わせてもらってます(Yahoo! Local Mapsのいいところは、日本の地名を英語で表示してくれることくらいですかね。他の二つは日本の地名は常に日本語なので、海外の人にしてみると使い勝手悪いだろうな、と。あと、Yahoo!はFlashなので気持ち軽いこと?)

そうそう、話が全然変わりますが、時々GMapを使っているサイトで、地図の種類の切り替えボタン(右上に出ている3つのボタンですね)が英語のままになっているのを見かけるんですが、Google JapanのBlogによると、日本国内で日本語で利用するのであれば、インクルードするファイルのサーバーを「google.com」から「google.co.jp」に変えたほうが良いらしいです。メニューも日本語になるし、ローディングも早くなるらしいです。API-Keyは同じものでOK。

[開発日誌]機能拡充>ホテル検索(世界対応)

久しぶりの会心作です。

ホテル検索はこれまでじゃらんのAPIだけを利用していたので日本国内だけに限定されていました。海外のホテルについても対応したいなと色々探していたところ、ようやく発見しました(中々無いんですよね。実は、Web-APIって意外と日本進んでるんですよね。レストラン検索とかホテル検索とかアメリカ無いし)。

今回利用したのが、オランダのBooking.comのAPI。といっても公開されているAPIではなくて、 Google MapsのMapplet内部で使われているAPIを利用させてもらっています(なので、すぐに使えなくなるかもしれません、、、)。

日本を含む全世界の約32,000件のホテルが登録されているそうです(ただ、ヨーロッパは強いけど、それ以外は比較的少ない印象です。ハワイとか全然無かったり)。一部のデータについては日本語も用意されているので、海外のホテルなんですが、日本語で見ることも可能です。

いやぁ、個人的には、かなり便利になったな、と

[未分類]機能追加>ローカルブログ検索

大した追加ではないんですが、先日のGoogle Newsを利用したローカルニュース検索に加えて、ローカルブログの検索機能を追加しました。

機能といっても、ローカルニュースのパネルを開くか、左側のメニューパネルから「ローカルニュース検索」を押すと、他のニュースと一緒に勝手に検索されます。

ブログ検索には、とりあえずGoogle Blog Searchを利用していますが、今後変更するかもしれません。

Google Newsでのローカル検索も、今回のブログ検索もやっていることはシンプルで、表示されている領域に関連する地名を幾つか(現在は2つ)DBより抽出して、それをキーワードとして検索しているだけです。

ただ、この「関連する地名」というのが結構やっかいで、住所をそのまま抽出してしまうと(丁目とか番地とかまで)、まず検索にひっかかってきません。だからといって、要素解析なんかして単語に分解しても、それはそれで、例えば「東京都港区」だと「東京都」と「港区」とかなってしまって「東京都」に関する全部が検索されてしまって精度が落ちてしまったりとか面倒くさかったりします。

で、何をやっているかというと、別に何も画期的ではないのですが、「市町村」レベル程度の住所を持たせているデータだけを対象に抽出をしています。具体的には、「空港、駅、天気予報地点、都市」なんかがそれにあたります。気が付いたら、この辺のデータだけで約40,000件以上(全世界)あったので、とりあえずは使えるかな、と。

もし使いたい人がいれば、Weather APIみたいな感じで、Area Tag APIとして公開したいと考えています(Yahoo! Berkley LabのTagMapsみたいなイメージですね)

[開発日誌]機能追加>URL&初期画面設定

地味な機能ですが、多分必要な機能を追加しました(最近機能追加が多いな。データ追加しないと、、、)

表示されている地図の緯度経度や縦横の距離を表示するダイアログウィンドウ(このアイコン→Information Dialog  Icon )を随分前に追加していたのですが、その中に、現在表示されている地図のURLを加えました。もし、ブックマークしておきたい場所に出くわしたら、利用してみてください。

で、そのついでに、これまでVirtual EarthとGoogle Mapあるいは英語と日本語を切り替えた際には、場所が一度リセットされてしまっていたのですが、これについても切り替えた前後でリセットされないようにしました。

で、さらについでに、 初期画面についてもこれまではGeoIPの仕組みで最寄と思われる場所を勝手に表示していましたが、ユーザー側で設定できるようにもしてみました。初期画面にしたい場所・ズームレベル・言語・Mapサーバーを選択して、このアイコン→Default Location Settingをクリックするだけです。ただし、Cookieを利用しているので、Cookieを禁止している場合は設定できません、、、。

[Javascript][ メモ]JavaScriptのスコープに関するメモ

ちょっと今朝はまったので、メモ。

JSのスコープについては相変わらずあやふやなのですが、今朝ちょっとはまってしまって、Firebugのおかげで助かりました。地図の緯度経度に初期値を設定するのに下記の様なコードを書いていたんですが、

var lat = <?php echo $_GET['lat']; ?>
var lng = <?php echo $_GET['lng']; ?>

function hoge(){
if(!lat || !lng){
var lat = 0;
var lng = 0;
}
}

lat/lngの初期値を設定しても、「hoge」の中の最初if文ではundefined(Firebug)になってしまいます。
何でだろうと、いろいろ試行錯誤して(ここまで30分)、Firebugで「New watch expression」に試しに「lat」と入れてみると、undefinedではなくて、ちゃんと設定している数値が表示されました。

ここでようやく気が付いたんですが、「hoge」の中でundefinedになってしまっていたのは、それがローカル変数として扱われていたからなんですね。

変数の宣言はif文の後でやっていたので、それまではグローバル扱いかなと(勝手に)思っていたら、違っていたわけです。
ていうか、そもそも既にグローバルで宣言しているのに、関数の中で再度宣言するからおかしなことになるわけで、、、。

[開発日誌]機能追加>Google News

ローカルニュースではカバーできていない地域がまだほとんどなので、その空白部分を埋めるために、Google NewsのRSS機能を利用してみました。

表示されている地域の都市名をDBより取得して、それをキーワードにGoogle NewsのRSSを取得しています。

都市名が一般的な名前だったり人名とかぶったりする場合、全然関係ないニュースも表示されてしまいますが、、、全般的にいい感じで地域のニュースが取得できていると思います。

あ、あと、Google Newsは日本語版はRSSを配信していないので、残念ながら、全部英語です、、、 (日本国内のニュースも)

あと、細かいですが、左側のメニューにもニュースを追加しました。