#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";