这是我的第一个问题。我需要从位置附近的任何用户处获取推文,然后将这些推文作为标记放在地图中。 我写了这段代码来进行搜索:
private AsyncTwitter twitter;
twitter = new TwitterHelper(this).getAsyncTwitter(); //Twitter helper is a helper class to connect to Twitter using Twitter4J library
twitter.addListener(new TwitterListener() {
@Override
public void searched(QueryResult queryResult) {
List<Status> qrTweets = queryResult.getTweets();
for (Status tweet : qrTweets ) {
Log.v("Results",tweet.getId() + " " + "@" + tweet.getUser().getScreenName() + " : " + tweet.getText() + " :::" + tweet.getCreatedAt() + " :::" + tweet.getUser().getLocation());
GeoLocation geoLocation = tweet.getGeoLocation();
if (geoLocation != null) {
LatLng latLng = new LatLng(geoLocation.getLatitude(), geoLocation.getLongitude());
Log.v(TAG, "Tweet:" + latLng.toString());
map.addMarker(new MarkerOptions().position(latLng).title(tweet.getText()));
} else {
Log.v(TAG, "No location");
}
}
}
}
twitter.search(new Query().geoCode(new GeoLocation(latLng.latitude, latLng.longitude),10,Query.KILOMETERS.toString()));
我收到了很多推文,但没有一条推文有GeoLocation
数据,我无法添加到地图中。
我一直在搜索此论坛并阅读twitter4j
个文档,我发现了QueryFilters
但我不知道是否可以申请此问题,因为在这种情况下没有TwitterStream
来过滤。
任何帮助将不胜感激。 提前谢谢。