[英]How can I visualise tweets on a map in Processing?
我正在嘗試使用twitter API搜索關鍵字並獲取特定推文的位置,然后可視化到地圖上。
我已經使用展開的地圖和tilemill成功創建了我的地圖,我只是在處理twitter部分。 使用twitter 4J庫,我嘗試了以下代碼,但無法獲取該位置作為坐標。 另外,一旦獲得坐標,我就不知道如何在地圖上可視化它們。
import twitter4j.*;
import twitter4j.api.*;
import twitter4j.auth.*;
import twitter4j.conf.*;
import twitter4j.json.*;
import twitter4j.management.*;
import twitter4j.util.*;
import twitter4j.util.function.*;
ConfigurationBuilder cb = new ConfigurationBuilder();
Twitter twitterInstance;
Query queryForTwitter;
void setup() {
cb.setOAuthConsumerKey("**********");
cb.setOAuthConsumerSecret("*******");
cb.setOAuthAccessToken("*********");
cb.setOAuthAccessTokenSecret("*********");
twitterInstance = new TwitterFactory( cb.build()).getInstance();
queryForTwitter = new Query("#nature");
size(640, 440);
background(0);
FetchAndDrawTweets();
}
void FetchAndDrawTweets() {
try {
QueryResult result = twitterInstance.search(queryForTwitter);
ArrayList tweets = (ArrayList) result.getTweets();
for (int i=0; i<tweets.size(); i++) {
Status t = (Status) tweets.get(i);
String user = (t.getUser()).getLocation();
text(user + ":" , 20,15+i*15);
}
}
catch(TwitterException te) {
println("Couldn't connect:" + te);
}
}here
我剛開始處理,所以請耐心等待,因為我什至不知道我是否會以正確的方式進行處理。
任何幫助將不勝感激!
將您的問題分解為較小的子問題的出色工作。 將“獲取推文和位置”步驟與“在地圖上顯示內容”步驟分開是個好主意。 辛苦了
至於獲取推文的位置,您應該在兩個地方查看:
Twitter4J JavaDocs :這是Twitter4J庫中可用的每個類,函數和變量的列表。 這應該是您的第一站。 您在這里看到有用的東西了嗎? 具體來說, Status
類具有一個getGeoLocation()
函數,看起來很有希望。
Twitter API :這是構建Twitter4J庫的基礎JavaScript API。 請查看此文檔,以獲取有關Twitter4J庫下面發生的事情的更多詳細信息。 具體來說, 該頁面說不贊成使用geo
對象,而應該使用coordinates
字段。
因此,我要嘗試的第一件事是getGeoLocation()
函數。 但是請注意,並非每條推文都會有一個位置,因為用戶可以禁用位置跟蹤。 還要注意,如果基礎JavaScript庫不再提供geo
對象,並且Twitter4J庫正在使用該對象來填充其getGeoLocation()
函數,那么您將無法通過Twitter4J獲取該位置。 我還沒有測試過。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.