Foto Tempat (Baru)

Layanan Place Photo (Baru) adalah API hanya baca yang memungkinkan Anda menambahkan konten fotografi berkualitas tinggi ke aplikasi Anda. Layanan Place Photo memberi Anda akses ke jutaan foto yang tersimpan dalam database Places.

Saat mendapatkan informasi tempat menggunakan permintaan Place Details, Nearby Search, atau Text Search, Anda juga dapat meminta referensi foto untuk konten fotografi yang relevan. Dengan menggunakan layanan Photo, Anda kemudian dapat mengakses foto yang direferensikan dan mengubah ukuran gambar ke ukuran yang optimal untuk aplikasi Anda.

Dengan API Explorer, Anda dapat membuat permintaan secara langsung sehingga Anda dapat memahami opsi API dan API:

Cobalah!

Permintaan Place Photo

Permintaan Place Photo adalah permintaan GET HTTP ke URL dalam bentuk:
https://places.googleapis.com/v1/NAME/media?key=API_KEY&PARAMETERS

Saat parameter berikut diperlukan:

  • NAME berisi nama referensi foto.
  • API_KEY berisi kunci API.
  • PARAMETERS berisi parameter maxHeightPx, parameter maxWidthPx, atau keduanya.

Daftar lengkap parameter wajib dan opsional dijelaskan di bawah.

Parameter wajib

Nama foto

ID string yang mengidentifikasi foto secara unik. Nama foto ditampilkan dari permintaan Place Details (New), Nearby Search (Baru), atau Text Search (Baru) dalam properti name untuk setiap elemen array photos[].

Untuk mengetahui contohnya, lihat Mendapatkan nama foto.

maxHeightPx dan maxWidthPx

Menentukan tinggi dan lebar maksimum yang diinginkan, dalam piksel, untuk gambar. Jika gambar lebih kecil dari nilai yang ditentukan, gambar asli akan ditampilkan. Jika gambar lebih besar di salah satu dimensi, gambar akan diskalakan agar sesuai dengan ukuran yang lebih kecil di antara dua dimensi, yang dibatasi dengan rasio aspek asalnya. Properti maxheight dan maxwidth menerima bilangan bulat antara 1 dan 4800.

Anda harus menentukan maxHeightPx, atau maxWidthPx, atau keduanya.

Parameter opsional

skipHttpRedirect

Jika false (default), buat pengalihan HTTP ke gambar untuk menampilkan gambar. Jika true, lewati pengalihan dan tampilkan respons JSON yang berisi defail gambar. Contoh:

{
  "name": "places/ChIJj61dQgK6j4AR4GeTYWZsKWw/photos/Aaw_FcKly0DEv3EWmDJyHiEqXIP5mowOc99lN1GzBun6KHH52AZ5fFA/media",
  "photoUri": "https://lh3.googleusercontent.com/a-/AD_cFT-b=s100-p-k-no-mo"
}

Opsi ini diabaikan untuk permintaan non-HTTP.

Dapatkan nama foto

Semua permintaan ke layanan Place Photo harus menyertakan nama resource foto, yang ditampilkan sebagai respons atas permintaan Nearby Search, Text Search, atau Place Details. Respons terhadap permintaan ini berisi array photos[] jika tempat tersebut memiliki konten fotografi terkait.

Setiap elemen photo[] berisi kolom berikut:

  • name — String yang berisi nama resource foto saat Anda membuat permintaan Photo. String ini berbentuk:

    places/PLACE_ID/photos/PHOTO_RESOURCE
  • heightPx — Tinggi maksimum gambar, dalam piksel.
  • widthPx — Lebar maksimum gambar, dalam piksel.
  • authorAttributions[] — Atribusi apa pun yang diperlukan. Kolom ini selalu ada, tetapi mungkin kosong.

Foto yang ditampilkan oleh layanan Photo berasal dari berbagai lokasi, termasuk foto dari pemilik bisnis dan pengguna. Umumnya, foto ini dapat digunakan tanpa atribusi, atau atribusi yang diperlukan harus disertakan sebagai bagian dari gambar. Namun, jika elemen photo yang ditampilkan menyertakan nilai di kolom authorAttributions, Anda harus menyertakan atribusi tambahan dalam aplikasi di mana pun Anda menampilkan gambar tersebut.

Contoh berikut menunjukkan permintaan Place Details yang menyertakan photos di mask kolom sehingga respons menyertakan array photos[] dalam respons:

curl -X GET \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: id,displayName,photos" \
https://places.googleapis.com/v1/places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E
Contoh array photos[] dalam respons ditampilkan di bawah ini.
    ...
    "photos" : [
      {
        "name": "places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E/photos/AUacShh3_Dd8yvV2JZMtNjjbbSbFhSv-0VmUN-uasQ2Oj00XB63irPTks0-A_1rMNfdTunoOVZfVOExRRBNrupUf8TY4Kw5iQNQgf2rwcaM8hXNQg7KDyvMR5B-HzoCE1mwy2ba9yxvmtiJrdV-xBgO8c5iJL65BCd0slyI1",
        "widthPx": 6000,
        "heightPx": 4000,
        "authorAttributions": [
          {
            "displayName": "John Smith",
            "uri": "//maps.google.com/maps/contrib/101563",
            "photoUri": "//lh3.googleusercontent.com/a-/AD_cFT-b=s100-p-k-no-mo"
          }
        ]
      },    ...

Meminta foto tempat

Contoh permintaan di bawah ini menampilkan gambar menggunakan name resource-nya, dengan mengubah ukurannya sehingga memiliki tinggi dan lebar maksimal 400 piksel:

https://places.googleapis.com/v1/places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E/photos/AUacShh3_Dd8yvV2JZMtNjjbbSbFhSv-0VmUN-uasQ2Oj00XB63irPTks0-A_1rMNfdTunoOVZfVOExRRBNrupUf8TY4Kw5iQNQgf2rwcaM8hXNQg7KDyvMR5B-HzoCE1mwy2ba9yxvmtiJrdV-xBgO8c5iJL65BCd0slyI1/media?maxHeightPx=400&maxWidthPx=400&key=API_KEY

Respons dari permintaan Place Photo yang berhasil adalah gambar. Jenis gambar bergantung pada jenis foto asli yang dikirimkan.

Jika permintaan Anda melebihi kuota yang tersedia, server akan menampilkan status HTTP 403 dan menampilkan gambar di bawah untuk menunjukkan bahwa kuota telah terlampaui:

Gambar Melebihi Kuota

Jika server tidak dapat memahami permintaan Anda, server akan menampilkan status HTTP 400, yang menunjukkan permintaan tidak valid. Alasan paling umum untuk permintaan tidak valid meliputi:

  • Nama foto yang dikirimkan tidak ditentukan dengan benar.
  • Permintaan tidak menyertakan parameter maxHeightPx atau maxWidthPx.
  • Nilai parameter maxHeightPx atau maxWidthtPx ditetapkan ke null.
  • name sudah tidak berlaku. Jika masa berlaku name berakhir, buat permintaan ke Place Details (Baru), Nearby Search (Baru), atau Text Search (Baru) untuk mendapatkan name baru.

Cobalah!

API Explorer memungkinkan Anda membuat permintaan contoh sehingga Anda dapat memahami opsi API dan API.

Untuk membuat permintaan:

  1. Tetapkan parameter name ke:
    places/PLACE_ID/photos/PHOTO_RESOURCE/media
  2. Setel skipHttpRedirect ke true sehingga permintaan menampilkan respons JSON. Secara default, permintaan akan menampilkan gambar, yang tidak dapat ditampilkan oleh API Explorer.
  3. Pilih tombol Execute. Di jendela pop-up, pilih akun yang ingin Anda gunakan untuk membuat permintaan.