Мне нужно использовать два метода из Flickr, чтобы достичь желаемого результата; «метод photos.search» возвращает идентификатор фотографии, а «метод geo.getLocation» возвращает значение long и lat для каждого идентификатора фотографии. Я могу успешно повторить поиск, чтобы получить каждый идентификатор фотографии в моей области поиска. Мой вопрос заключается в том, как выполнить итерацию каждого идентификатора фотографии в «методе geo.getLocation», чтобы получить значения широты и долготы.
Найдите ниже мой 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; } ?>
Формат запроса REST для метода geo.getLocation:
http://api.flickr.com/services/rest/?method=flickr.photos.geo.getLocation&api_key=xxxx&photo_id=[value]
Yemi
Почему бы не получить каждое местоположение, когда вы перебираете идентификаторы фотографий, как в
<?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 } ?>