2012-03-08 4 views
1

私は希望の結果を得るためにFlickrの2つのメソッドを使用する必要があります。 「photos.searchメソッド」は写真IDを返し、「geo.getLocationメソッド」は各写真IDのlong値とlat値を返します。 検索エリア内の各写真IDを取得するために検索を正常に繰り返すことができます。私の質問は、 "geo.getLocationメソッド"の各写真IDを反復して緯度と経度の値を取得する方法です。2つのメソッドをflickrに追加します

各写真のIDを返し、私のPHPコードの下に検索:

<?php 

$url = ("http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=ff8c4c178209865b1ac5ee3f2d492de0&lat=51.5424&lon=-0.1734&radius=2&page=1&text=flats"); 

$xml = simplexml_load_file($url); 

foreach ($xml->photos->photo as $entry) { 
echo $entry->attributes()->id; 
echo $entry->attributes()->owner; 
echo $entry->attributes()->title; 
} 

?> 

geo.getLocation方法のためのREST要求の形式は次のとおりです。

http://api.flickr.com/services/rest/?method=flickr.photos.geo.getLocation&api_key=xxxx&photo_id=[value] 

Yemi

答えて

0

をそれぞれを取得しない理由あなたが写真のIDを反復するときの位置は、

<?php 

$url = ("http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=ff8c4c178209865b1ac5ee3f2d492de0&lat=51.5424&lon=-0.1734&radius=2&page=1&text=flats"); 

$xml = simplexml_load_file($url); 

foreach ($xml->photos->photo as $entry) { 
    echo $entry->attributes()->id; 
    echo $entry->attributes()->owner; 
    echo $entry->attributes()->title; 
    $xmlloc = simplexml_load_file("http://api.flickr.com/services/rest/?method=flickr.photos.geo.getLocation&api_key=xxxx&photo_id=" . $entry->attributes()->id); 
// process XML file 
} 

?> 
+0

私はあなたの編集を実装し、エラーを返し続けます:致命的なエラー:最大実行時間が60秒を超えるC:\ ... \ search.php 11行目(11行目は編集行です) – akinboj

+0

APIのタイムアウトの問題で、コードの問題ではありません。何枚の写真をダウンロードしていますか?APIの制限を超えている可能性があります。 –

+0

私は結果のサイズを減らすためにper_page引数を(50)に解析し、エラーを何も戻しませんでした。だから私はあなたが正しいと思いますが、返されている緯度と経度の値をどのようにエコーしますか? – akinboj