Zasady dotyczące pakietu SDK Miejsc na iOS

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Ten dokument zawiera wymagania dotyczące wszystkich aplikacji utworzonych za pomocą pakietu SDK Miejsc na iOS, w tym usługi autouzupełniania miejsc, która jest częścią tego interfejsu API. Ogólne informacje dla deweloperów Map Google można znaleźć w Warunkach korzystania z Google Maps Platform.

Podawanie warunków korzystania z usługi i polityki prywatności

Jeśli tworzysz pakiet SDK Miejsc na iOS, musisz udostępnić w nim Warunki korzystania z usługi i Politykę prywatności, które są zgodne z wytycznymi określonymi w Umowie z Google:

  • Warunki korzystania z usługi i Polityka prywatności muszą być dostępne publicznie.
  • W Warunkach korzystania z aplikacji musisz wyraźnie poinformować użytkowników, że podczas korzystania z Twojej aplikacji użytkownicy muszą przestrzegać Warunków korzystania z usług Google.
  • Musisz powiadomić użytkowników w swojej Polityce prywatności, że korzystasz z interfejsów API Map Google, i uwzględnić je w Polityce prywatności Google.

Zalecany sposób udostępnienia Warunków korzystania z usługi i Polityki prywatności zależy od platformy, z której korzysta Twoja aplikacja.

Aplikacja mobilna

Jeśli tworzysz aplikację mobilną, zalecamy podanie linku do Warunków korzystania z usługi i Polityki prywatności na stronie pobierania w odpowiednim sklepie z aplikacjami oraz w menu ustawień aplikacji.

Aplikacje internetowe

Jeśli tworzysz aplikację internetową, zalecamy umieszczenie w stopce witryny linku do Warunków korzystania z usługi i Polityki prywatności.

Wstępne pobieranie, buforowanie i przechowywanie treści

Aplikacje korzystające z pakietu SDK Miejsc na iOS podlegają warunkom umowy z Google. Zgodnie z warunkami Umowy Użytkownik nie może pobierać z wyprzedzeniem, indeksować, przechowywać ani zapisywać w pamięci podręcznej żadnych Treści z wyjątkiem określonych w nich warunków.

Wyświetlanie pakietu SDK Miejsc na iOS

Wyniki z pakietu SDK Miejsc na iOS możesz wyświetlać w Mapach Google lub bez mapy. Jeśli chcesz wyświetlić na mapie wyniki z pakietu Miejsca dla iOS, te wyniki muszą być wyświetlane na mapie Google. Nie można używać pakietu SDK Miejsc na iOS na mapie, która nie jest mapą Google.

Jeśli aplikacja wyświetla dane w Mapach Google, logo Google zostanie włączone i nie będzie można go zmienić. Aplikacje, które wyświetlają dane Google na tym samym ekranie co Mapy Google, nie muszą przekazywać Google informacji o nich.

Jeśli Twoja aplikacja wyświetla dane na stronie lub w widoku, które nie zawierają Map Google, musisz wyświetlić logo Google z tymi danymi. Jeśli na przykład aplikacja wyświetla dane Google na jednej karcie, a Mapa Google z tymi danymi na innej, musi wyświetlać się logo Google. Jeśli aplikacja używa pól wyszukiwania z autouzupełnianiem lub bez niego, logo musi być wyświetlane w tekście.

Logo Google powinno być umieszczone w lewym dolnym rogu mapy, a informacje o atrybucji powinny znajdować się w prawym dolnym rogu, a wszystkie powinny znajdować się na mapie i nie będą pod mapą ani w innym miejscu w aplikacji. Poniższy przykład mapy pokazuje logo Google w lewym dolnym rogu mapy, a informacje o źródle w prawym dolnym rogu.

Ten plik ZIP zawiera logo Google we właściwym rozmiarze na potrzeby aplikacji na komputery, Androida i iOS. Nie możesz w żaden sposób zmieniać rozmiaru ani modyfikować tych logo.

Pobierz: google_logo.zip

Nie modyfikuj atrybucji. Nie usuwaj, nie zasłaniaj ani nie przycinaj informacji o atrybucji. Nie można używać wbudowanych logo Google (na przykład "te mapy pochodzą z firmy [Google_logo]").

Atrybucja powinna być zbliżona. Jeśli używasz zrzutów ekranu przedstawiających obrazy Google poza umieszczaniem bezpośrednio, dodaj standardową atrybucję na ilustracji. W razie potrzeby możesz dostosować styl i miejsce docelowe tekstu reklamy, o ile mieści się on w pobliżu treści i jest czytelny dla przeciętnego widza lub czytelnika. Nie możesz przenosić informacji o źródle poza treść książki, np. na końcu książki, informacje o autorach plików lub programów czy stopkę w witrynie.

Uwzględnij zewnętrznych dostawców danych. Niektóre dane i obrazy w naszych usługach mapowania pochodzą od dostawców innych niż Google. Jeśli korzystasz z takich zdjęć, tekst atrybucji powinien zawierać nazwę &Google oraz odpowiednich dostawców danych, np. „Google, Maxar Technologies”." Jeśli w materiałach zacytowani są zewnętrzni dostawcy danych, w rodzaju „"Google” lub logo Google nie jest poprawne.

Jeśli używasz Google Maps Platform na urządzeniu, na którym wyświetlanie atrybucji nie jest praktyczne, skontaktuj się z zespołem sprzedaży Google, aby omówić licencje odpowiednie do Twojego przypadku użycia.

Inne wymagania dotyczące atrybucji

Atrybucja zewnętrznych dostawców zawiera treści i linki, które musisz wyświetlić użytkownikowi w formacie, w jakim zostały podane. Zalecamy, aby aplikacja wyświetlała te informacje pod szczegółami miejsca.

Atrybucja innych firm zwracana przez interfejs API nie obejmuje atrybucji Google. Musisz dodać tę atrybucję samodzielnie, zgodnie z opisem w sekcji Wyświetlanie logo Google i informacji o autorach.

Postępuj zgodnie z tymi instrukcjami, by pobrać atrybucję firm zewnętrznych dla pojedynczego miejsca lub kolekcji miejsc.

Odzyskiwanie atrybucji z jednego miejsca

Pobieram informacje o miejscu, uzyskując informacje o identyfikatorze, a z tego miejsca możesz też korzystać w elemencie attributions z tego elementu: GMSPlace.

attributions jest podany jako obiekt NSAttributedString.

Pobieranie atrybucji dla zbioru miejsc

Jeśli aplikacja wyświetla informacje uzyskane na podstawie żądania bieżącego miejsca na urządzeniu, musi zawierać atrybucję stron trzecich do wyświetlanych szczegółów miejsca. Dane atrybucji dla wszystkich miejsc pobranych w żądaniu możesz pobrać z właściwości attributions w GMSPlaceLikelihoodList.

attributions są przekazywane jako obiekt NSAttributedString, który możesz otworzyć i wyświetlać w taki sam sposób jak attributions w jednym miejscu, jak opisano powyżej.

Wyświetlanie informacji o autorach zdjęcia

Jeśli w Twojej aplikacji są wyświetlane zdjęcia, musisz wyświetlać atrybucję każdego z nich, które je zawierają. Aby uzyskać atrybucję zdjęcia, zadzwoń pod numer GMSPlacePhotoMetadata.attributions. Ta właściwość to NSAttributedString lub nil, jeśli nie ma atrybucji.

Swift

GMSPlacesClient.sharedClient().lookUpPhotosForPlaceID(placeID) { (photos, error) -> Void in
  if let error = error {
    // TODO: handle the error.
    print("Error: \(error.description)")
  } else {
    // Get attribution for the first photo in the list.
    if let photo = photos?.results.first {
      let attributions = photo.attributions
    }
  }
}
    

Objective-C

[[GMSPlacesClient sharedClient]
    lookUpPhotosForPlaceID:placeID
                  callback:^(GMSPlacePhotoMetadataList *_Nullable photos,
                             NSError *_Nullable error) {
                    if (error) {
                      // TODO: handle the error.
                      NSLog(@"Error: %@", [error description]);
                    } else {
                      // Get attribution for the first photo in the list.
                      if (photos.results.count > 0) {
                        GMSPlacePhotoMetadata *photo = photos.results.firstObject;
                        NSAttributedString *attributions = photo.attributions;
                      }
                    }
                  }];
    

Wyświetlanie atrybucji zewnętrznych

Atrybucja dostawców zewnętrznych jest podawana jako obiekty NSAttributedString zawierające treści i linki, które musisz zachować i wyświetlić użytkownikom.

Zalecany sposób wyświetlania atrybucji to UITextView, bo linki w atrybucji muszą działać. Aby mieć pewność, że linki będą działać, ustaw przedstawiciela w UITextView i ustaw metodę shouldInteractWithURL na UITextViewDelegate, by zwrócić YES.

Swift

...
  self.attributionTextView.delegate = self
...

// MARK: - UITextViewDelegate

func textView(textView: UITextView, shouldInteractWithURL URL: NSURL,
  inRange characterRange: NSRange) -> Bool {
  // Make links clickable.
  return true
}
    

Objective-C

...
  self.attributionTextView.delegate = self;
...

#pragma mark - UITextViewDelegate

- (BOOL)textView:(UITextView *)textView
    shouldInteractWithURL:(NSURL *)url
                  inRange:(NSRange)characterRange {
  // Make links clickable.
  return YES;
}
    

Przykład atrybucji firmy zewnętrznej

Zewnętrzny model atrybucji zwykle zawiera tekst z linkiem. Na przykład:

Wizytówki przykładowej firmy

W powyższym przykładzie zakres tekstowy Przykładowa firma jest objęty atrybutem NSLink.

Identyfikator miejsca, który służy do jednoznacznego identyfikowania miejsca, jest zwolniony z tego ograniczenia. Dlatego wartości identyfikatorów miejsc możesz przechowywać bez ograniczeń. Identyfikator miejsca jest zwracany w polu place_id w odpowiedziach miejsc SDK na iOS.

Wytyczne dotyczące stylu atrybucji Google

Jeśli nie możesz użyć logo Google do pobrania, poniżej znajdziesz wskazówki dotyczące stylów atrybucji Google w usługach CSS i HTML.

Pusty obszar

Wielkość pustego obszaru powinna być równa wysokości „G&quot” w Google.

Odległość między tekstem atrybucji a logo Google powinna być o połowę niższa niż &

Czytelność

Nazwisko powinno być zawsze wyraźne, czytelne i wyświetlane w odpowiedniej wersji kolorystycznej dla danego tła. Pamiętaj, aby zawsze kontrastować z wybraną wersją logo.

Kolor

Użyj tekstu Google Material szary 700 na białym lub jasnym tle, który ma zakres od 0% do 40% Czarny.

Google
#5F6368
RGB 95 99 104
HSL 213 5 39
HSB 213 9 41

Na ciemniejszym tle oraz w przypadku zdjęć i wzorców nienawiązanych użycie białego tekstu jako informacji o autorze i informacji o źródle.

Google
#FFFFFF
RGB 255 255 255
HSL 0 0 100
HSB 0 0 100

Czcionka

Użyj czcionki Roboto.

Przykładowy CSS

Po zastosowaniu tego tekstu w końcu tekst „Google” będzie renderował się z użyciem właściwej czcionki, koloru i odstępów na białym lub jasnym tle.

font-family: Roboto;
font-style: normal;
font-weight: 500;
font-size: 16px;
line-height: 16px;
padding: 16px;
letter-spacing: 0.0575em; /* 0.69px */
color: #5F6368;