Получение широты / длины (геотег) из изображений picasa с помощью picasa API с PHP

#php #zend-framework #picasa

#php #zend-framework #picasa

Вопрос:

Я искал везде, чтобы попытаться получить ответ на эту простую задачу, но безрезультатно.

Мне просто нужно получить широту / длину (геотег) из изображения. В документах приведен пример того, как обновить GmlPos в GeoRssWhere. ( http://code.google.com/apis/picasaweb/docs/1.0/developers_guide_php.html ) Но как вы просто извлекаете эту информацию?

Я пробовал ниже, но я думаю, что я что-то не так понял.

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

кто-нибудь может помочь?

Ответ №1:

API Picasa возвращает объекты как Zend_Gdata_Photos_PhotoEntry

Вы можете использовать getGeoRssWhere() для получения географических данных:

 $geo = $photo->getGeoRssWhere();
 

Ответ №2:

Я нашел отличный пример получения геотегов для отображения фотографий на карте, как я и хотел. 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";