Zdjęcia miejsc (nowe)

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

Wprowadzenie

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

Gdy uzyskujesz informacje o miejscu za pomocą żądania Place Details (nowe), Wyszukiwanie w pobliżu (nowe) lub Wyszukaj tekst (nowe), możesz też poprosić o zasoby zdjęć zawierające odpowiednie treści fotograficzne content. Korzystając z usługi Place Photos (nowa), możesz uzyskać dostęp do zdjęć, do których się odwołujesz, i zmienić rozmiar obrazu na optymalny dla Twojej aplikacji.

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

Żądania Place Photos (nowe)

Żądanie Place Photos (nowe) 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ę parametrów wymaganych i opcjonalnych znajdziesz poniżej.

Wymagane parametry

Nazwa zdjęcia

Identyfikator tekstowy, który jednoznacznie identyfikuje zdjęcie. Nazwy zdjęć są zwracane w odpowiedzi na żądanie informacje o miejscu (nowe), Wyszukiwanie w pobliżu (nowe) lub Wyszukaj tekst (nowe) we właściwości name każdego elementu tablicy photos[].

Przykład znajdziesz w sekcji Uzyskiwanie 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 którymkolwiek wymiarze, zostanie przeskalowany tak, aby pasował do mniejszego z 2 wymiarów, z zachowaniem oryginalnych proporcji. Zarówno właściwość maxheight, jak i maxwidth przyjmują liczbę całkowitą z zakresu od 1 do 4800.

Musisz określić parametr maxHeightPx, maxWidthPx lub oba te parametry.

Parametry opcjonalne

skipHttpRedirect

Jeśli wartość to false (domyślnie), wykonaj przekierowanie HTTP do obrazu, aby go zwrócić. Jeśli wartość to 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.

Uzyskiwanie nazwy zdjęcia

Wszystkie żądania Place Photos (nowe) muszą zawierać nazwę zasobu zdjęcia, która jest zwracana w odpowiedzi na żądanie Wyszukiwanie w pobliżu (nowe), Wyszukaj tekst (nowe) lub informacje o miejscu (nowe). Jeśli miejsce ma powiązane treści fotograficzne, odpowiedź na te żądania zawiera tablicę photos[].

Każdy element photo[] zawiera te pola:

  • name – ciąg znaków zawierający nazwę zasobu zdjęcia, gdy wykonujesz żądanie zdjęcia. Ten 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 autorstwie. To pole jest zawsze obecne, ale może być puste.

Zdjęcia zwracane przez Place Photos (nowe) pochodzą z różnych źródeł, w tym od właścicieli firm i użytkowników. W większości przypadków można ich używać bez podawania informacji o autorstwie lub wymagane informacje o autorstwie są częścią obrazu. Jeśli jednak zwrócony element photo zawiera wartość w polu authorAttributions, musisz uwzględnić dodatkowe informacje o autorstwie w aplikacji wszędzie tam, gdzie wyświetlasz obraz.

Poniższy przykład pokazuje żądanie Place Details (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 znajdziesz przykład tablicy 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"
          }
        ]
      },
    ...

Żądanie zdjęcia miejsca

Poniższy przykładowy kod żądania 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 udane żądanie Place Photos (nowe) jest obraz.

Kody błędów

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

Przekroczono limit miejsca (403)

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

Powiadomienie o przekroczeniu limitu

Nieprawidłowe żądanie (404)

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

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

Zbyt wiele żądań (429)

Zalecamy wczytywanie zdjęć na żądanie. Jeśli spróbujesz wyświetlić wszystkie obrazy miejsca naraz, serwer może zwrócić stan HTTP 429 wskazujący na wczytywanie zbyt wielu zdjęć jednocześnie. Jeśli otrzymasz ten komunikat o błędzie, skontaktuj się z zespołem pomocy i poproś o zwiększenie limitu.

Wypróbuj

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

Aby wysłać żądanie:

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