Kebijakan untuk Maps JavaScript API

Topik ini memaparkan persyaratan atribusi untuk semua aplikasi yang dikembangkan dengan Maps JavaScript API, termasuk layanan Place Autocomplete yang menjadi bagian dari API tersebut. Untuk persyaratan Google Maps Platform, lihat Persyaratan Layanan Google Maps Platform.

Menyediakan persyaratan penggunaan dan kebijakan privasi

Jika Anda mengembangkan aplikasi Maps JavaScript API, Anda harus menyediakan Persyaratan Penggunaan dan Kebijakan Privasi bersama aplikasi Anda yang memenuhi panduan yang dijelaskan dalam Perjanjian Anda dengan Google:

  • Persyaratan Penggunaan dan Kebijakan Privasi harus tersedia untuk umum.
  • Anda harus menyatakan secara eksplisit dalam Persyaratan Penggunaan aplikasi Anda bahwa dengan menggunakan aplikasi Anda, pengguna akan terikat dengan Persyaratan Layanan Google.
  • Anda harus memberi tahu pengguna dalam Kebijakan Privasi Anda bahwa Anda menggunakan Google Maps API dan melalui penyebutan memasukkan Kebijakan Privasi Google.

Tempat yang direkomendasikan untuk menyediakan Persyaratan Penggunaan dan Kebijakan Privasi Anda akan bergantung pada platform aplikasi Anda.

Aplikasi seluler

Jika mengembangkan aplikasi seluler, sebaiknya Anda menyediakan link ke Persyaratan Penggunaan dan Kebijakan Privasi di halaman download aplikasi Anda di app store yang relevan dan di menu setelan aplikasi.

Aplikasi web

Jika mengembangkan aplikasi web, sebaiknya Anda menyediakan link ke Persyaratan Penggunaan dan Kebijakan Privasi di footer situs web Anda.

Melakukan pra-pengambilan, menyimpan dalam cache, atau menyimpan konten

Aplikasi yang menggunakan Maps JavaScript API terikat dengan ketentuan Perjanjian Anda dengan Google. Tunduk pada ketentuan Perjanjian Anda, Anda tidak boleh melakukan pra-pengambilan, mengindeks, menyimpan dalam cache, atau menyimpan Konten apa pun, kecuali berdasarkan kondisi terbatas yang dinyatakan dalam ketentuan tersebut.

Perhatikan bahwa ID tempat, yang digunakan untuk mengidentifikasi tempat secara unik, dikecualikan dari pembatasan penyimpanan dalam cache. ID tempat ditampilkan di kolom `place_id` sebagai respons Maps JavaScript API. Pelajari cara menyimpan, memperbarui, dan mengelola ID tempat di panduan ID Tempat.

Menampilkan hasil Maps JavaScript API

Anda dapat menampilkan hasil Maps JavaScript API di Google Maps, atau tanpa peta. Jika Anda ingin menampilkan hasil Maps JavaScript API di peta, berarti hasil ini harus ditampilkan di Google Maps. Dilarang menggunakan data Maps JavaScript API di peta yang bukan merupakan peta Google.

Jika aplikasi Anda menampilkan data di Google Maps, logo Google akan disertakan dan tidak boleh diubah. Aplikasi yang menampilkan data Google di layar yang sama seperti Google Maps tidak diwajibkan memberikan atribusi lainnya untuk Google.

Jika aplikasi Anda menampilkan data di halaman atau tampilan yang juga tidak menampilkan Google Maps, Anda harus menampilkan logo Google dengan data tersebut. Misalnya, jika aplikasi Anda menampilkan data Google pada satu tab, dan Google Maps dengan data tersebut pada tab lainnya, tab pertama harus menampilkan logo Google. Jika aplikasi Anda menggunakan kolom penelusuran dengan atau tanpa pelengkapan otomatis, logo harus ditampilkan secara inline.

Logo Google harus ditempatkan di sudut kiri bawah peta, dengan informasi atribusi ditempatkan di sudut kanan bawah, keduanya harus ada di peta yang ditampilkan sebagai satu kesatuan, dan bukan di bawah peta atau tempat lain dalam aplikasi. Contoh peta berikut menampilkan logo Google di kiri bawah peta, dan atribusi di kanan bawah.

penempatan atribusi kebijakan

File ZIP berikut berisi logo Google dalam ukuran yang tepat untuk aplikasi desktop, Android, dan iOS. Anda tidak boleh mengubah ukuran atau memodifikasi logo ini dengan cara apa pun.

Download: google_logo.zip

Jangan mengubah atribusi. Jangan menghapus, mengaburkan, atau memangkas informasi atribusi. Anda tidak boleh menggunakan logo Google secara inline (misalnya, "Peta ini dari [Google_logo]").

Selalu dekatkan posisi atribusi. Jika menggunakan screenshot gambar Google di luar sematan langsung, sertakan atribusi dasar sebagaimana yang muncul di gambar tersebut. Jika perlu, Anda dapat menyesuaikan gaya dan penempatan teks atribusi, selama teks tersebut berada sangat dekat dengan konten dan dapat dibaca oleh kebanyakan pelihat atau pembaca. Anda tidak boleh menjauhkan atribusi dari konten, seperti ke bagian akhir buku Anda, kredit file atau acara Anda, atau footer situs Anda.

Sertakan penyedia data pihak ketiga. Beberapa data dan gambar di produk pemetaan kami berasal dari penyedia selain Google. Jika gambar tersebut digunakan, teks atribusi Anda harus berisi nama "Google" dan penyedia data yang relevan, seperti "Data peta: Google, Maxar Technologies." Jika ada penyedia data pihak ketiga yang dikutip bersama gambar, menyertakan "Google" atau logo Google saja bukanlah bentuk atribusi yang benar.

Jika Anda menggunakan Google Maps Platform di perangkat yang tidak mungkin digunakan untuk menampilkan atribusi, hubungi tim penjualan Google untuk mendiskusikan lisensi yang sesuai untuk kasus penggunaan Anda.

Persyaratan atribusi lainnya

Ikuti petunjuk ini untuk mengambil atribusi pihak ketiga, dan untuk menampilkan atribusi di aplikasi Anda.

Mengambil atribusi dari suatu Tempat

Jika aplikasi Anda menampilkan informasi ulasan yang diperoleh dengan memanggil Place.fetchFields, aplikasi juga harus menampilkan atribusi pihak ketiga untuk detail tempat yang diperoleh.

API menampilkan objek Place. Untuk mengambil atribusi dari objek Place, gunakan properti Place.attributions, yang ditampilkan dengan setiap permintaan (tidak perlu menentukan permintaan menggunakan kolom). Properti menampilkan objek List dari String, atau null jika tidak ada atribusi untuk ditampilkan. Kode contoh berikut menampilkan cara mendapatkan tempat, dan mencantumkan atribusi.

  // Use place ID to create a new Place instance.
  const place = new Place({
      id: 'ChIJB9a4Ifl744kRlpz0BQJzGQ8', // Crazy Good Kitchen
  });

  // Call fetchFields, passing the desired data fields.
  await place.fetchFields({
      fields: ["displayName", "formattedAddress", "location", "reviews"],
  });

  // Check for any place attributions.
  if (!place.attributions) {
      console.log('No attributions were found.');
      return;
  } else {
      // Log the place attribution
      for (var attribution of place.attributions) {
          console.log(attribution);
      }
  }

  

Menampilkan ulasan

Objek Place dapat berisi hingga lima ulasan, yang setiap ulasannya diwakili oleh objek Review. Secara opsional, Anda dapat menampilkan ulasan tersebut di aplikasi Anda.

Jika menampilkan ulasan yang merupakan kontribusi dari pengguna Google, Anda harus menempatkan nama penulis di dekat ulasan. Jika ada di kolom atribusi penulis untuk objek Review, sebaiknya Anda menyertakan juga foto dan link penulis ke profil mereka. Gambar berikut menampilkan contoh ulasan sebuah taman:

Tampilan atribusi penulis

Contoh berikut menampilkan cara mendapatkan suatu tempat, memeriksa ulasan, dan menampilkan data dari ulasan pertama:

  // Use place ID to create a new Place instance.
  const place = new Place({
      id: 'ChIJB9a4Ifl744kRlpz0BQJzGQ8', // Crazy Good Kitchen, Boston MA
  });

  // Call fetchFields, passing "reviews" and other needed fields.
  await place.fetchFields({
      fields: ["displayName", "formattedAddress", "location", "reviews"],
  });

  // If there are any reviews display the first one.
  if (!place.reviews) {
      console.log('No reviews were found.');
  } else {
      // Log the review count so we can see how many there are.
      console.log("REVIEW COUNT: " + place.reviews.length);

      // Get info for the first review.
      let reviewRating = place.reviews[0].rating;
      let reviewText = place.reviews[0].text;
      let authorName = place.reviews[0].authorAttribution.displayName;
      let authorUri = place.reviews[0].authorAttribution.uri;

      // Create a bit of HTML to add to the info window
      const contentString =
        '<div id="title"><b>' + place.displayName + '</b></div>' +
        '<div id="address">' + place.formattedAddress + '</div>' +
        '<a href="' + authorUri + '" target="_blank">Author: ' + authorName + '</a>' +
        '<div id="rating">Rating: ' + reviewRating + ' stars</div>' +
        '<div id="rating""><p>Review: ' + reviewText + '</p></div>';

      // Create an info window.
      infoWindow = new InfoWindow({
          content: contentString,
          ariaLabel: place.displayName,
      });

      // Add a marker for the place.
      const marker = new AdvancedMarkerElement({
          map,
          position: place.location,
          title: place.displayName,
      });

      // Show the info window.
      infoWindow.open({
          anchor: marker,
          map,
      });
  }
  

Menampilkan atribusi untuk foto

Jika aplikasi Anda menampilkan foto, Anda harus menampilkan atribusi penulis untuk setiap foto. Detail tentang foto di objek Place dari sebuah respons berada dalam array photos. Untuk menambahkan array photos ke respons, sertakan kolom data photos dalam permintaan.

Setiap elemen array foto merupakan instance dari Photo, yang berisi array authorAttributions, dengan jenis AuthorAttribution. Kolom objek AuthorAttribution adalah string yang berisi displayName, uri, dan photoUri dari atribusi, atau string kosong jika tidak ada atribusi untuk ditampilkan.

Panduan gaya untuk atribusi Google

Berikut adalah panduan gaya untuk atribusi Google di CSS dan HTML jika Anda tidak dapat menggunakan logo Google yang dapat didownload.

Ruang kosong

Ukuran ruang kosong di sekitar logo lengkap harus sama dengan atau lebih besar dari tinggi "G" di Google.

Ruang antara salinan atribusi dan logo Google harus setengah lebar huruf "G".

Keterbacaan

Baris nama penulis harus selalu jelas, dapat dibaca, dan ditampilkan dengan variasi warna terang untuk latar belakang tertentu. Pastikan selalu ada kontras yang memadai untuk variasi logo yang Anda pilih.

Warna

Gunakan teks Google Material Gray 700 di latar belakang putih atau terang yang menggunakan tint hitam maksimum dengan rentang 0%–40%.

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

Di latar belakang yang lebih gelap, dan di pola yang tidak rumit atau fotografi, gunakan teks putih untuk baris nama penulis dan atribusi.

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

Font

Gunakan font Roboto.

CSS Contoh

CSS berikut, saat diterapkan ke teks "Google", akan merender "Google" dengan font, warna dan ruang yang sesuai di latar belakang putih atau terang.

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;