Store将Twitter JSON地理位置作为变量返回

时间:2012-07-23 20:07:34

标签: php mysql json twitter geolocation

我正在使用PHP向Twitter的API提交JSON查询(使用POST方法),并将地理位置坐标作为标准之一,以便获取地理定位数据。从返回的JSON结果中,我将特定值存储为变量以传递给MySQL(首先转换为字符串)。我已成功获得JSON结果,并且可以在浏览器中查看纬度/经度数据,但无法成功获取/存储它们。以下代码适用于抓取所有其他字段(text,created_at等)。任何帮助,将不胜感激。

这是我正在解码JSON结果/为每个字段分配变量/将变量发送到MySQL的代码部分。

$data = mysql_real_escape_string($tweet->{'status'}->{'geo'});

1 个答案:

答案 0 :(得分:0)

Twitter API doco注意到geo字段已被弃用,因此您希望从现在开始查看coordinates字段。

此字段是可选的,因此它可能为null。但是,由于您在位置上进行过滤,因此不太可能。如果它存在,你应该得到这样的东西:

var_dump($tweet->coordinates);

// Output:
object(stdClass)[5]
  public 'type' => string 'Point' (length=5)
  public 'coordinates' => 
    array
      0 => float -99.98741865
      1 => float 21.9250252

如果没有,你只会获得null。要获得推文的纬度/经度,您应该可以:

if ($tweet->coordinates != null) {
    $long = $tweet->coordinates->coordinates[0];
    $lat = $tweet->coordinates->coordinates[1];
}