【问题标题】:Understanding geolocation on tweets了解推文上的地理位置
【发布时间】:2012-05-21 12:56:40
【问题描述】:

我正在尝试从推文中获取地理位置。 对于我的测试,我发布了地理参考的新推文,但是当我得到它们的 json 时,元素“geo”为空。为什么?他们怎么了?

我不想按范围和地理位置搜索:我想搜索一些由特定主题标签索引的推文,然后检索“geo”json 元素。 我试图搜索其他推文(不是我的推文),有时我将“geo”元素作为一个完整的对象,带有坐标数组。

那么,我该怎么做才能让 'geo' 元素不为空?

我做了 4 个地理参考的帖子:my tweets

位置是:44.694704,10.528611

编辑:添加地理编码参数

这是我在服务器端(纯 php)所做的:

$conn = new OAuth (CONSUMER_KEY, CONSUMER_SECRET);
$conn->setToken (ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
$conn->fetch (API_URL, array ('q' => '#testhashtagandgeo', 'geocode' => '44.694704,10.528611,4km'));
echo $conn->getLastResponse ();

我使用了 PHP OAuth base 并且每个常量都定义正确,所以效果很好。

客户端(ExtJS):

Ext.onReady (function () {
    Ext.Ajax.request ({
        url: 'proxy.php' ,
        disableCaching: false ,
        success: function (xhr) {
            var js = Ext.JSON.decode (xhr.responseText);
            Ext.each (js.results, function (tweet) {
                if (tweet.geo !== null) {
                    console.log ('lat = ' + tweet.geo.coordinates[0] + ' - lng = ' + tweet.geo.coordinates[1]);
                }
            });
            console.log (js);
        } ,
        failure: function (xhr) {
            console.log ('something\'s wrong!');
        }
    });
});

提前致谢。

威尔

【问题讨论】:

    标签: php javascript geolocation twitter


    【解决方案1】:

    你需要read the documentation

    仅当查询包含地理编码参数并且用户在推文中包含地理信息时,才会包含位置数据。

    因此,您需要在查询中添加类似这样的内容

    &geocode=37.781157,-122.398720,25mi
    

    或您想要的任何位置。

    【讨论】:

    • 那么,如果没有地理编码到查询中,就不可能查询推特?
    • 没错。您需要为其提供地理编码才能获取地理编码信息。有两种方法可以解决此问题 1) 获取单个推文 ID 并从主 API 查询它们。 2)放置一个位置和足够高的半径以吸引所有用户。
    • 很好。我刚刚编辑了我的问题:我添加了地理编码参数和我的 twitter 主页。正如你所看到的,有 4 个帖子位于我报告的坐标中。但是,它还没有工作。我没有收到带有该主题标签 (#testhashtagandgeo) 和这些坐标 (44.694704,10.528611) 的帖子。您可以增加地理编码的半径,但结果是一样的。
    • 您是否对搜索进行了 URL 编码?应该是 %23testhastagandgeo (我不知道你使用的库是否自动执行)
    • 是的,是的,但这不是问题。我的实验让我使用 Twitter Streaming API 而不是 REST API。不幸的是,它们很难实现,所以我需要更多时间来了解正确的方法。无论如何,我发现通过移动设备发布和地理参考的推文具有填充坐标的“地理”标签。
    猜你喜欢
    • 2014-08-19
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多