使用带有PHP的picasa API从picasa图像获取Lat / Long(地理标记)

时间:2011-10-29 06:08:17

标签: php zend-framework picasa

我到处寻找尝试得到这个简单任务的答案无济于事。

我只需要从图像中获取lat / long(地理标记)。文档提供了如何更新GeoRssWhere中的GmlPos的示例。 (http://code.google.com/apis/picasaweb/docs/1.0/developers_guide_php.html)但是你如何检索这些信息呢?

我试过以下,但我想我有点不对劲。

  $where = new Zend_Gdata_Geo_Extension_GeoRssWhere();
  $georeff = $where->point;

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

Picasa API将实体作为Zend_Gdata_Photos_PhotoEntry

返回

您可以使用getGeoRssWhere()获取地理位置数据:

$geo = $photo->getGeoRssWhere();

答案 1 :(得分:0)

我找到了一个很好的例子,可以让地理标记像我想要的那样在地图上显示照片。 http://picasaphpworkshop.googlecode.com/svn-history/r11/trunk/workshop.php

我无法弄清楚的部分是$ where-> getPoint() - > getPos();在获得georsshwere之后。

Zend_Loader::loadClass('Zend_Gdata_Media_Extension_MediaKeywords');
 Zend_Loader::loadClass('Zend_Gdata_Geo_Extension_GeoRssWhere');
 Zend_Loader::loadClass('Zend_Gdata_Geo_Extension_GmlPos');
 Zend_Loader::loadClass('Zend_Gdata_Geo_Extension_GmlPoint');
 Zend_Loader::loadClass('Zend_Gdata_Photos_PhotoEntry');


 $picasa = new Zend_Gdata_Photos();
 $query = $picasa->newAlbumQuery();
 $query->setUser('user@gmail.com');
 $query->setAlbumName('MyAlbumNameFromURL');
 $feed = $picasa->getAlbumFeed($query);

 foreach($feed as $num => $photoEntry){

           $where = $photoEntry->getGeoRssWhere();
            $lat = $where->getPoint()->getPos();
            //$lat = split(" ", $lat); // Split out the space-separated lat

 }


echo "GeoReff: " . $lat . "<br />\n";