Zdjęcia miejsc (nowe)

Wybierz platformę: Android iOS Usługa internetowa
Deweloperzy z Europejskiego Obszaru Gospodarczego (EOG)

Wprowadzenie

Usługa Place Photos (New) to interfejs API tylko do odczytu, który umożliwia dodawanie do aplikacji wysokiej jakości treści fotograficznych. Usługa Place Photos (New) zapewnia dostęp do milionów zdjęć przechowywanych w bazie danych Miejsc.

Gdy uzyskujesz informacje o miejscu za pomocą żądania Place Details (New), Nearby Search (New) lub Text Search (New), możesz też poprosić o zasoby zdjęć dotyczące odpowiednich treści fotograficznych. Korzystając z usługi Place Photos (New), możesz uzyskać dostęp do zdjęć, do których się odwołujesz, i zmienić ich rozmiar na optymalny dla Twojej aplikacji.

Narzędzie API Explorer umożliwia wysyłanie żądań w czasie rzeczywistym, dzięki czemu możesz zapoznać się z interfejsem API i jego opcjami:

.

Prośby dotyczące Zdjęć miejsca (nowość)

Żądanie Place Photos (New) to żądanie HTTP GET wysyłane na adres URL w formacie:
https://places.googleapis.com/v1/NAME/media?key=API_KEY&PARAMETERS

Wymagane są te parametry:

  • NAME zawiera nazwę zasobu zdjęcia.
  • API_KEY zawiera klucz interfejsu API.
  • PARAMETERS zawiera parametr maxHeightPx, parametr maxWidthPx lub oba te parametry.

Pełną listę wymaganych i opcjonalnych parametrów znajdziesz poniżej.

Wymagane parametry

Nazwa zdjęcia

Identyfikator w postaci ciągu znaków, który jednoznacznie identyfikuje zdjęcie. Nazwy zdjęć są zwracane w odpowiedzi na żądanie Szczegóły miejsca (nowe), Wyszukiwanie w pobliżu (nowe) lub Wyszukiwanie tekstowe (nowe) we właściwości name każdego elementu tablicy photos[].

Przykład znajdziesz w artykule Pobieranie nazwy zdjęcia.

maxHeightPx i maxWidthPx

Określa maksymalną wysokość i szerokość obrazu w pikselach. Jeśli obraz jest mniejszy niż podane wartości, zostanie zwrócony oryginalny obraz. Jeśli obraz jest większy w jednym z wymiarów, zostanie przeskalowany tak, aby pasował do mniejszego z nich, z zachowaniem pierwotnego formatu. Właściwości maxheight i maxwidth akceptują liczbę całkowitą z zakresu od 1 do 4800.

Musisz określić maxHeightPx lub maxWidthPx albo oba te atrybuty.

Parametry opcjonalne

skipHttpRedirect

Jeśli false (domyślnie), wykonaj przekierowanie HTTP do obrazu, aby go zwrócić. Jeśli true, pomiń przekierowanie i zwróć odpowiedź JSON zawierającą szczegóły obrazu. Na przykład:

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

Ta opcja jest ignorowana w przypadku żądań innych niż HTTP.

Pobieranie nazwy zdjęcia

Wszystkie żądania dotyczące usługi Place Photos (New) muszą zawierać nazwę zasobu zdjęcia, która jest zwracana w odpowiedzi na żądanie Nearby Search (New), Text Search (New) lub Place Details (New). Odpowiedź na te żądania zawiera tablicę photos[], jeśli miejsce ma powiązane treści fotograficzne.

Każdy element photo[] zawiera te pola:

  • name – ciąg tekstowy zawierający nazwę zasobu zdjęcia, gdy wysyłasz żądanie dotyczące zdjęcia. Ciąg znaków ma postać:

    places/PLACE_ID/photos/PHOTO_RESOURCE
  • heightPx – maksymalna wysokość obrazu w pikselach.
  • widthPx – maksymalna szerokość obrazu w pikselach.
  • authorAttributions[] – wszelkie wymagane informacje o autorze. To pole jest zawsze obecne, ale może być puste.

Zdjęcia zwracane przez interfejs Place Photos (New) pochodzą z różnych źródeł, m.in. od właścicieli firm i użytkowników. W większości przypadków można ich używać bez podawania atrybucji lub wymagana atrybucja jest częścią obrazu. Jeśli jednak zwrócony element photo zawiera wartość w polu authorAttributions, musisz dodać dodatkowe informacje o autorze w aplikacji wszędzie tam, gdzie wyświetlasz obraz.

Poniższy przykład pokazuje żądanie szczegółów miejsca (nowe), które zawiera photos w masce pola, dzięki czemu odpowiedź zawiera tablicę photos[]:

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
Poniżej znajduje się przykład photos[] w odpowiedzi.
    ...
    "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"
          }
        ]
      },
    ...

Prośba o zdjęcie miejsca

Poniższe przykładowe żądanie zwraca obraz przy użyciu jego zasobu name, zmieniając jego rozmiar tak, aby miał maksymalnie 400 pikseli wysokości i szerokości:

https://places.googleapis.com/v1/places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E/photos/ATKogpeivkIjQ1FT7QmbeT33nBSwqLhdPvIWHfrG1WfmgrFjeZYpS_Ls7c7rj8jejN9QGzlx4GoAH0atSvUzATDrgrZic_tTEJdeITdWL-oG3TWi5HqZoLozrjTaxoAIxmROHfV5KXVcLeTdCC6kmZExSy0CLVIG3lAPIgmvUiewNf-ZHYE4-jXYwPQpWHJgqVosvZJ6KWEgowEA-qRAzNTu9VH6BPFqHakGQ7EqBAeYOiU8Dh-xIQC8FcBJiTi0xB4tr-MYXUaF0p_AqzAhJcDE6FAgLqG1s7EsME0o36w2nDRHA-IuoISBC3SIahINE3Xwq2FzEZE6TpNTFVfgTpdPhV8CGLeqrauHn2I6ePm-2hA8-87aO7aClXKJJVzlQ1dc_JuHz6Ks07d2gglw-ZQ3ibCTF5lMtCF9O-9JHyRQXsfuXw/media?maxHeightPx=400&maxWidthPx=400&key=API_KEY

Odpowiedzią na udaną prośbę dotyczącą zdjęć miejsc (nowa wersja) jest obraz.

Kody błędów

Żądania Place Photos (New) mogą zwracać te kody błędów:

Przekroczono limit (403)

Jeśli Twoje żądanie przekracza dostępny limit, serwer zwraca stan HTTP 403 i wyświetla poniższy obraz, aby wskazać, że limit został przekroczony:

Powiadomienie o przekroczeniu limitu

Nieprawidłowe żądanie (404)

Jeśli serwer nie może zrozumieć Twojego żądania, zwraca stan HTTP 400, który wskazuje na nieprawidłowe żądanie. Najczęstsze przyczyny nieprawidłowego żądania to:

  • Przesłana nazwa zdjęcia została nieprawidłowo określona.
  • Żądanie nie zawierało parametru maxHeightPx ani maxWidthPx.
  • Wartość parametru maxHeightPx lub parametru maxWidthtPx została ustawiona na null.
  • name wygasła. Jeśli name wygaśnie, wyślij żądanie do usługi Place Details (New), Nearby Search (New) lub Text Search (New), aby uzyskać nowy name.

Zbyt wiele żądań (429)

Google zaleca wczytywanie zdjęć na żądanie. Jeśli spróbujesz wyświetlić wszystkie zdjęcia miejsca naraz, serwer może zwrócić stan HTTP 429, co oznacza, że zbyt wiele zdjęć jest ładowanych w tym samym czasie. Jeśli pojawi się ten komunikat o błędzie, skontaktuj się z zespołem pomocy i poproś o zwiększenie limitu.

Wypróbuj

Narzędzie API Explorer umożliwia wysyłanie przykładowych żądań, dzięki czemu możesz zapoznać się z interfejsem API i jego opcjami.

Aby przesłać prośbę:

  1. Po prawej stronie strony kliknij ikonę API .
  2. Ustaw parametr name na:
    places/PLACE_ID/photos/PHOTO_RESOURCE/media
  3. Ustaw wartość skipHttpRedirect na true, aby żądanie zwracało odpowiedź w formacie JSON. Domyślnie żądanie zwraca obraz, którego Eksplorator interfejsu API nie może wyświetlić.
  4. Kliknij przycisk Wykonaj. W oknie dialogowym wybierz konto, którego chcesz użyć do wysłania prośby.
  5. W panelu API Explorer kliknij ikonę pełnego ekranu , aby rozwinąć okno API Explorer.