Php 了解推特上的地理位置

Php 了解推特上的地理位置,php,javascript,geolocation,twitter,Php,Javascript,Geolocation,Twitter,我正试图从推特上获取地理位置信息。 在我的测试中,我发布了新的推文,但当我得到它们的json时,“geo”元素为空。为什么?他们怎么了 我不想按范围和地理位置搜索:我想搜索一些由特定hashtag索引的tweet,然后检索“geo”json元素。 我试着搜索其他tweet(不是我的),有时我会将“geo”元素作为一个完整的对象,使用坐标数组 那么,我该怎么做才能使“geo”元素不为null呢? 我做了4篇地理参考文章: 地点是:44.694704,10.528611 编辑:添加了地理代码参数 这

我正试图从推特上获取地理位置信息。 在我的测试中,我发布了新的推文,但当我得到它们的json时,“geo”元素为空。为什么?他们怎么了

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

那么,我该怎么做才能使“geo”元素不为null呢?

我做了4篇地理参考文章:

地点是:44.694704,10.528611

编辑:添加了地理代码参数

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

我使用了PHPOuthBase,并且每个常量都定义正确,所以它工作得很好

客户端(ExtJS):

提前谢谢

威尔克

你需要

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

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

&geocode=37.781157,-122.398720,25mi

或者你想去的任何地方

所以,如果没有地理编码,就不可能查询twetter?没错。您需要给它一个地理编码,以便获取地理编码信息。这有两种方法:1)获取单个tweet ID并从主API查询它们。2) 放在一个位置和足够高的半径,以捕捉所有用户。非常好。我刚刚编辑了我的问题:我添加了GeocodeParam和我的twitter主页。正如你所看到的,我报告的coords有4个地理位置的帖子。然而,它还不起作用。我没有收到关于这个标签(#testhashtagandgeo)和那些coords(44.694704,10.528611)的帖子。你可以增加地理代码的半径,但结果是一样的。你的URL编码你的搜索吗?应该是%23testhastagandgeo(我不知道您正在使用的库是否自动执行此操作)是的,但这不是问题所在。我的实验让我使用Twitter流媒体API而不是restapi。不幸的是,它们很难实现,所以我需要更多的时间来理解正确的方法。不管怎么说,我发现手机发布的推文和地理引用的推文上都有“地理”标签,上面有坐标。
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!');
        }
    });
});
&geocode=37.781157,-122.398720,25mi