1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hereisderek-google-places-api-java-gradle

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 7.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 13:43 ecbbfa3

Детальный объект Empire State Building всегда открыт (false).

Статус: OPENED.

URL Google Place: https://plus.google.com/110101791098901696787/about?hl=en-US.

Цена: NONE.

Адрес: 350 5th Ave, New York, NY, United States.

Окрестности: 350 5th Avenue, New York.

Отзывы: 5.

Часы работы:

  • Воскресенье: с 08:00;
  • Понедельник: до 02:00;
  • Вторник: с 08:00;
  • Среда: до 02:00;
  • Четверг: с 08:00;
  • Пятница: до 02:00;
  • Суббота: с 08:00.

Иконки

После того как у вас есть детальный объект Place, вы можете скачать его иконку с помощью следующего кода:

BufferedImage image = place.downloadIcon().getIconImage();

Если вы работаете на Android, javax.imageio не реализован. Вы можете создать Bitmap из иконки с помощью:

InputStream stream = place.downloadIcon().getIconInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(stream);

Действия с местом

Добавить место

Вы можете добавлять и удалять свои собственные места в Google Places API.

Place place = client.addPlace("Test Location", "en", lat, lng, 50, "spa");

Параметры следующие: имя, код языка, широта, долгота, точность местоположения (в метрах), типы. Параметр «типы» может быть одним типом или набором типов. Эти поля должны быть установлены при добавлении нового места, иначе будет выброшено исключение GooglePlacesException. Поле имени не должно превышать 250 символов, язык должен быть одним из этих одобренных кодов, а тип должен быть одним из одобренных типов. Создание места с помощью этого метода отправляет один POST-запрос и один GET-запрос для получения вновь созданного места. Если вы хотите пропустить GET-запрос, создайте место с помощью этого метода.

Place place = client.addPlace("Test Location", "en", lat, lng, 50, "spa", false);

Удалить место

Вы можете удалить места с помощью:

client.deletePlace(place);

Добавить событие

Вы можете добавить и удалить свои собственные события мест в Google Places API.

Event event = client.addEvent(place, "Test Event", 100000, "en", "http://www.example.com");

Параметры следующие: место, к которому нужно добавить событие, сводка, продолжительность (в секундах), код языка, URL. Код языка и URL являются необязательными. Эти поля должны быть установлены при добавлении нового события, иначе будет выброшено исключение GooglePlacesException. Язык должен быть одним из этих утверждённых кодов и тип должен быть одним из утверждённых типов. Создание события с помощью этого метода отправляет один POST-запрос и один GET-запрос для получения вновь созданного события. Если вы хотите пропустить GET-запрос, создайте событие с помощью этого метода.

Event event = client.addEvent(place, "Test Event", 100000, "en", "http://www.example.com", false);

Фотографии мест

Вы также можете получить фотографии мест от Google. Например, вот как я могу выбрать случайную фотографию из места и сохранить её на диск.

List<Photo> photos = place.getPhotos();
Photo photo = photos.get(new Random().nextInt(photos.size()));
BufferedImage image = **photo.download().getImage();**

File file = new File("test.jpg");
file.createNewFile();
ImageIO.write(image, "jpg", file);

Можно также указать максимальную ширину и максимальную высоту для изображения. Соотношение сторон изображения всегда будет сохранено.

BufferedImage image = photo.download(100, 100).getImage();

Чтобы указать один параметр, а не другой, просто установите один из них в -1. Если вы их не укажете, будет передан максимальный размер (1600). ПРИМЕЧАНИЕ: Вы должны передать хотя бы один из параметров размера.

Если вы работаете на Android, javax.imageio не реализован, поэтому вы можете создать растровое изображение из фотографии с помощью:

InputStream stream = photo.download().getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(stream);

Не забудьте не выполнять этот код в основном потоке.

Автозаполнение

Прогнозирование места

Вы можете получить прогнозы автозаполнения для мест с помощью:

List<Prediction> predictions = client.getPlacePredictions("Empire");

Как и следовало ожидать, Эмпайр-стейт-билдинг — это первый результат, возвращаемый здесь. Объект прогнозирования содержит удобочитаемое описание и средство доступа к месту, чтобы вы могли легко создать пользовательский интерфейс вокруг него. (Особенно полезно для разработки под Android)

Прогноз запроса

Также можно получить прогнозы автозаполнения для мест по общим запросам, таким как «пицца в Нью-Йорке».

List<Prediction> predictions = client.getQueryPredictions("pizza in New York");

Интеграция с Android

Просто помните, что если вы используете эту библиотеку с Android, вы никогда не должны выполнять сетевой код в основном потоке. Либо запустите его в другом потоке...

new Thread(new Runnable() {
    public void run() {
        // do something
    }
}).start();

...или запустите его в AsyncTask.

Скачать

Релизы можно скачать по ссылке https://github.com/windy1/google-places-api-java/releases.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/hereisderek-google-places-api-java-gradle.git
git@api.gitlife.ru:oschina-mirror/hereisderek-google-places-api-java-gradle.git
oschina-mirror
hereisderek-google-places-api-java-gradle
hereisderek-google-places-api-java-gradle
master