プロフィール


Live!Ads

カテゴリ

iPad (2)

スポンサー


検索(サイト内)

全タイトルを表示


最近の記事

最近のコメント

最近のトラックバック

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



【--/--/-- --:--】 スポンサー広告| tb(-) cm(-)

[Twitter][API]Twitter API の位置検索のビミョーなところ

Twitter は API を公開していて、その中に、

「指定した緯度経度を中心に半径 n km のツイートを検索」

するものがあります。 → ココの geocode のトコ

 

これを使えば 「自分の付近に居るユーザー」 を簡単に取得できるのではないかと思って使ってみたのですが、ハマりました。。。





■ハマりポイント

1. 検索結果に緯度経度が付与されない(ものがある)

位置検索の対象になるのは、ジオタグ付きのツイートと、プロフィールの場所みたい。
この内、ジオタグ付きのツイートからは当然ながら緯度経度が取得できますが、プロフィールの場所が該当した場合は、結果から緯度経度が得られませんでした。


Twitter 側ではなんらかの方法でプロフィールの場所を位置情報に変換しているはずなので、それを返して欲しいのに…。


仕方がないので、プロフィールに入力されている住所をジオコードしたり、「iPhone:34.xxx, 137.xxx」などの文字列を自力で分解して緯度経度を得なければなりませんでした。

 

2. 必ずしも検索範囲に入るわけではない
こうして検索結果に緯度経度をつけて地図上にプロットしても、すべてが検索条件(緯度経度+半径 n km)の範囲内に入るわけではありません。


これはたぶんだけど、Twitter側の検索では、プロフィールの場所が面として捉えられている場合があるのではないかと思います。
実際試してないので分かりませんが、たとえばプロフィールの場所が 「日本」 だったら、日本のどこで位置検索してもヒットするのではないかと。
んで 日本 をジオコードすると首都である東京の緯度経度が得られたりするのかな?

 

これは、

tweetmap 

や、

Flex と Twitter と Google Maps と - nariyu memo

でも確認できます。

 

3. 検索結果の並び順が検索位置に近い順、ではない
Twitter の検索API での検索結果は全て 投稿日付の新しい順 になっている模様です。
てっきり1件目が検索位置に一番近いツイートだろうと思ったらそうでもないみたい。
なので検索範囲外でヒットしたツイートが一番新しければ、検索順の上位にきます。
しかも、検索結果はページングされていて終わりがないこともあります。
日付の絞込みは入れたとしても、検索結果の10ページ目にあるツイートが、指定した緯度経度に一番近いツイートかも知れないのです。

 

4. 検索結果が安定しない
同じ検索条件なのに、検索する度に検索結果が変わります。
検索結果が新しい順だから当然、とも思いますが、それだけじゃないような安定感のなさ…。

 

まとめ

ということで、「Twitter API の位置検索で、”指定した緯度経度から半径 n km内のツイート” を全て得る」 ことは事実上不可能だということが分かりました。

まあ細かいことは気にすんな、ということでしょうか。

 

ちなみに Mapion さんの「Twitterのつぶやき」機能では、ジオタグ付きのツイートのみが表示されるようです。

 

けどジオタグ付きのツイートって、まだまだ一般的じゃないんだよなぁ…。

スポンサーサイト
【2010/10/15 02:00】 技術系ネタ| tb(0) cm(0)
タグ : Twitter
<<[Android][Java]AyncTask+ProgressDialog のハマリポイント | ホーム | [Android][Java]String.split の引数は正規表現です!>>
コメント
コメントの投稿

管理者にだけ表示を許可する

トラックバック
トラックバックURL
http://oku2006.blog43.fc2.com/tb.php/1608-a2625f02
| ホーム |
アクセスランキング
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。