0

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

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

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

我做了 4 个地理参考的帖子:我的推文

位置是: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 基础,并且每个常量都定义正确,所以效果很好。

客户端(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!');
        }
    });
});

提前致谢。

威尔克

4

1 回答 1

0

您需要阅读文档

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

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

&geocode=37.781157,-122.398720,25mi

或您想要的任何位置。

于 2012-05-22T15:37:17.420 回答