Как можно получить фото города по названию или его координатам?

Пробовал с помощью гугловских апи, но он не возвращает фотореференс для городов, возвращает только для мест(ресторанов, музеев и т.д.). Пробовал с помощью flickr и panoramio, но там по геоданным возвращаются случайные фото, не самые лучшие. Как находить фото, которые на google maps
3a1336d5219745b9bf770ded9387fc4e.PNG
или которые выдаются в поиске
d7f84c9bd8eb4d4cb92a2d5a5d4d8cd9.PNG
  • Вопрос задан
  • 2382 просмотра
Решения вопроса 1
@gape Автор вопроса
Решение: API Yandex или Google, как выполнить поиск «Картинки»?

GET https://www.googleapis.com/customsearch/v1?
cx=id custom search, можно получить здесь https://cse.google.com/cse/all
key=apiKey надо создать проект здесь https://console.developers.google.com/home/dashboard
q=запрос
searchType=image

полный референс здесь: https://developers.google.com/custom-search/json-a...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@razer89
Android-разработчик
Не изобретайте велосипед, и не пытайтесь что-то парсить - это гиблое дело. Используйте API
UPD:
В рамках разработки под Android я бы все же рекомендовал вам использовать официальное API. Не совсем понимаю, что вас в нем не устраивает. Обратите внимание на следующий код:
1. Инициализируем ApiClient:
GoogleApiClient googleApiClient = new GoogleApiClient.Builder(service).addApi(Places.GEO_DATA_API).build();
googleApiClient.connect();

2. Инициализируем фильтр по городам:
AutocompleteFilter filter = new AutocompleteFilter.Builder()
                .setTypeFilter(AutocompleteFilter.TYPE_FILTER_CITIES)
                .build();

3. Получаем список (в моем случае - это AutocompletePrediction, вы можете пойти более удобным для вас путем):
PendingResult<AutocompletePredictionBuffer> result = Places.GeoDataApi
                .getAutocompletePredictions(googleApiClient, externalQuery, null, filter);
AutocompletePredictionBuffer autocompletePredictions = result.await(60, TimeUnit.SECONDS);
ArrayList<AutocompletePrediction> predictions = DataBufferUtils.freezeAndClose(autocompletePredictions);
autocompletePredictions.release();

Ну и собственно получаем список фото:
PendingResult<PlaceBuffer> placeResult = Places.GeoDataApi.getPlaceById(googleApiClient, prediction.getPlaceId());
Places.GeoDataApi.getPlacePhotos(googleApiClient, prediction.getPlaceId());
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы