さて、実は今ちょっと困った問題が起きています。それは、NearTweetが半径の範囲外にあるツイートを表示してしまうという問題です。
以前は問題なく範囲内のツイートのみ表示していました。それがある日突然、その問題が起こったのです。もちろん、ソースは何もいじっていません。私なりに原因を考えた結果、以下の2つが考えられます。
- Google Maps APIの誤作動、もしくは仕様変更
- Twitter Search APIの誤作動、もしくは仕様変更
まず、Google Maps APIですが、これはTwitter Search APIにより返ってきたツイートの座標を用いてピンを立てるのに使っています。ツイートの文章の内容と、表示したピンの場所から見て整合性がとれたため、これは問題なしと考えられます。
ということは、Twitter Search APIがおかしいと考えられます。そして返してきたツイートの座標を見ると、案の定、設定した範囲外のものが混じっていました。一度に取得できるツイート数は1500と決まっているため、範囲外のツイートを拾ってしまうと範囲内のツイートを見逃してしまいます。
そこでTwitter Developersという、Twitterを用いたアプリ開発のサポートページを見たところ、やはり同じ問題で困っている開発者がいて、その問題が報告されていました(https://dev.twitter.com/discussions/3360)。
どうするか
まず、APIの問題となるとそれが直るまで待つしかありません。Twitter側はこの問題を『Acknowledged(認知した)』としているため復旧に取り組んでいると考えられます。
次に、ユーザへの対応です。トップページで問題が起きていることと、現在復旧中であることを知らせました。
おわりに
ちょっと長くなってしまいましたが、困っていたので知って欲しい気持ちで書きました。もし同じ問題で困っている方や、こうしたらいいんじゃない?という意見があれば嬉しいです。