2010年11月08日

位置情報の検索と取得webアプリケーション

このエントリーをはてなブックマークに追加
位置情報でtweetを検索するには
http://search.twitter.com/search.atom?rpp=10&geocode=35.69979,139.77531,10km

このようにするだけです
この geocode= の3番目パラメータ”距離”は現在はあまりあてになりません。


基本的に、短時間に何回もリクエストすると、全く同じ結果しか返ってこなくなったり、
その他、おかしな挙動をすることが多々あります。



位置情報は、

<google:location>iphone:36.485147,136.520548</google:location>


<google:location>ÜT: 35.674761,139.77698</google:location>


<twitter:geo>
<georss:point>35.6989 139.7747</georss:point>
</twitter:geo>

のようにして緯度経度が返って来ます。
しかし、この形式は同じではありません
POST元によって変わります。 つまり、原理的に無限に存在するはずです。


ところで、十分に検証していませんが
langを明示的に指定しなければ、ユーザのデフォルトの言語で検索しているようです。


ありえない位置を返してくることも多くあります
geolocationmis



google map上のポインタを静的に表示するには、Google Static Maps APIが一番簡単です。




この部分のhtmlソースを見てください



API に書いてある通り
Google Static Maps API にはクエリ制限があり、1 人の閲覧者が 1 日にリクエストできるユニークな(一意の)画像は 1000 件までとなっています。ただし、この制限は「閲覧者」ごとの割り当てなので、ほとんどのデベロッパーはこの割り当ての超過について心配する必要はありません。なお、まったく同じ画像のリクエストを繰り返しても通常はカウントされません。制限の対象となるのは 1 回目のリクエストのみです。







自分が今現在いる場所の緯度経度を得るには

ブラウザで位置情報を取得するGeolocation APIを使ってみる
PCとスマートフォンから試しましたが、これは正確に場所を取得できてると思います。

これは、ローカルからでは試せません
グローバルなURLからでなければ実行できません。

また、どうも、Explorer ではこれは実行できないようです






位置を取得してから、Google Mapでその場所に行くには....
Google Mapを使うためにはMaps APIが必要です。

Maps APIでは
<script src="http://maps.google.com/maps?file=api&v=1&key=apikey-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" type="text/javascript" charset="utf-8"></script>

まずAPI用のscriptを呼んでおいて

<div id="map" style="width: 600px; height: 400px"></div>

このようにmapを配置して

var map = new GMap(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.centerAndZoom(new GPoint( longitude , latitude ), 5 );

ここまでで、Google mapの中央位置を経緯を指定した位置に出来るはずです。



Google Mapでクリックした位置を取得するには.....

var map = new GMap(document.getElementById("map"));
GEvent.addListener(map, 'click', function(overlay, point) {
if (point) {
latitude = point.y ;
longitude = point.x ;
}
});

これだけで十分です。





Google Mapにマーカーを追加するには
var marker = new GMarker(new GLatLng(35.676148,139.74479));
map.addOverlay(marker);

マーカーを全部削除するには
map.clearOverlays();



しかし、ループでマーカーを追加すると


複数のgoogle.maps.Marker (GMarker) に吹き出しをつける。
Google MAPS APIで遊んでいて、複数のgoogle.maps.Marker (GMarker) の、それぞれに吹き出し(openInfoWindow)をつけたかったのに、どれをクリックしても最後のマーカーから吹き出しが出てくる!というミスをしないための備忘録。質問しても「クロージャがわかってない奴は云々」とか説教垂れられるだけなので。









2010y11m08d_130400812

2010y11m08d_114611359

2010y11m08d_123013600








エンドユーザの情報発信力はまだまだ小さく、依然としてマスメディアの影響力は大きい現状です。
UGMではユーザが1次情報を報じることはほとんどなく、2次以上のコメントなどにしか終始しません。
マスメディアしか事件など、1次情報を報道しないことがその最大の理由です。
一般市民も、何か興味ある対象を取材すれば良いのです。







http://ge0site.web.fc2.com/
geolocation tweet mapping

tweetとそのユーザのその時点の位置を地図上に表示します。
それだけだと(他言語の人には直感的に分からないので)写真も同時に表示させています。


その場所、今現在、現場に居なければわからないことは非常に多く在ります。

その場所にいる人間が、他の場所にいる人間のニーズ(情報取得)を理解しているとは限りません.....


あなた(達)にとっては当たり前に知っていることでも、他の人は知らない、想像もできないことは非常に多くあります。
※...特に海外の人々にとっては、





ground-zero-2

この写真の右左、上下、後ろを振り返ったら?
この裏側は?
動画で見せて
もっと拡大して見せて
夜になったら?冬になったらどうなる?
温度は?湿度は?気圧は?
匂いは?味は?



その場にいる人に直接、「そこはどうなっているのか」聞けばよいのです。


トラックバックURL

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星
 
 
 
adsense
Categories
サイト内検索
にほんブログ村 科学ブログへ
にほんブログ村

amazon
Profile
Archives
blogchart
QRコード
QRコード
Recent Comments