Bermigrasi dari fitur v3 ke endpoint SearchDestinations

Developer Wilayah Ekonomi Eropa (EEA)

Fitur berikut di Geocoding API v3 digantikan oleh endpoint SearchDestinations Geocoding API v4:

  • Masuk
  • Titik navigasi
  • Garis batas bangunan
  • Area

Jika Anda menggunakan Geocoding API v3 untuk fitur di atas, gunakan dokumen ini untuk membantu Anda menggunakan endpoint SearchDestinations sebagai gantinya untuk mendapatkan fitur ini. Dokumen ini menjelaskan lokasi fitur ini dalam respons SearchDestinations API, dan perbedaan cara fitur ini ditampilkan dalam respons API antara Geocoding API v3 dan endpoint SearchDestinations dari Geocoding API v4.

Masuk

Untuk mendapatkan pintu masuk yang terkait dengan destination, gunakan kolom destination.entrances.

Perhatikan bahwa format entrance sedikit berbeda dari format pintu masuk di Geocoding API v3. Setiap pintu masuk di destination.entrances memiliki kolom berikut:

  • displayName - ini adalah kolom opsional baru yang akan memiliki nama yang mudah dibaca untuk pintu masuk, misalnya "Gerbang B".
  • location - ini adalah lokasi berjenis LatLng, yang berbeda dengan format yang digunakan di Geocoding API v3.
  • tags - ini sama dengan kolom tags pintu masuk dari Geocoding API v3.
  • place - serupa dengan kolom buildingPlaceId pintu masuk dari Geocoding API v3. Namun, ID Tempat di kolom ini dapat berupa ID Tempat dari jenis apa pun, tidak harus berupa gedung.

Untuk mendapatkan titik navigasi yang terkait dengan destination, gunakan kolom destination.navigationPoints.

Perhatikan bahwa format navigationPoint sedikit berbeda dari format titik navigasi di Geocoding API v3. Setiap titik navigasi di destination.navigationPoints memiliki kolom berikut:

  • displayName - ini adalah kolom opsional baru yang akan memiliki nama yang dapat dibaca manusia untuk titik navigasi, misalnya "5th Ave".
  • location - ini adalah lokasi berjenis LatLng, yang berbeda dengan format yang digunakan di Geocoding API v3.
  • travelModes - ini mirip dengan kolom restrictedTravelModes dari titik navigasi dari Geocoding API v3. Nilai enum yang mungkin sama, satu-satunya perbedaan adalah kolom ini sekarang menunjukkan mode perjalanan yang dapat diterima untuk titik navigasi, bukan mode perjalanan yang dibatasi.
  • usage - ini adalah kolom baru yang berisi kasus penggunaan yang didukung oleh titik navigasi. Perhatikan bahwa sebagian besar titik navigasi akan memiliki penggunaan UNKNOWN, tetapi hal itu tidak berarti penggunaan titik navigasi dibatasi dengan cara apa pun.

Garis batas bangunan

Untuk mendapatkan garis batas bangunan yang terkait dengan destination, Anda harus menggunakan kolom displayPolygon dari objek placeView di destination yang merepresentasikan bangunan. Untuk setiap placeView, Anda dapat memeriksa apakah itu adalah bangunan dengan kolom placeView.structureType. Jika jenis struktur adalah BUILDING, Anda bisa mendapatkan garis besarnya dari kolom placeView.displayPolygon. placeView juga akan memiliki kolom tambahan untuk gedung yang tidak ada di Geocoding API v3.

destination dapat memiliki objek placeView yang merepresentasikan bangunan di kolom berikut:

  • destination.primary - ini adalah tempat utama untuk tujuan.
  • destination.containingPlaces - ini adalah kolom berulang yang dapat menyimpan tempat yang lebih besar yang "berisi" tempat utama. Misalnya, jika tempat utama adalah subpremise, containingPlaces biasanya akan menyimpan placeView yang merepresentasikan bangunan.
  • destination.subDestinations - ini adalah kolom berulang yang dapat menyimpan sub-tujuan dari tempat utama. Misalnya, unit apartemen individu dalam sebuah bangunan. Kolom ini biasanya tidak memiliki placeView yang merepresentasikan bangunan.

Perhatikan bahwa format placeView.displayPolygon cocok dengan format garis batas bangunan di Geocoding API v3, yaitu format GeoJSON, menggunakan format RFC 7946.

Area

Mirip dengan membuat garis besar, untuk mendapatkan alasan yang terkait dengan destination, Anda harus menggunakan kolom displayPolygon dari objek placeView dalam destination yang merepresentasikan alasan. Untuk setiap placeView, Anda dapat memeriksa apakah itu adalah alasan dengan kolom placeView.structureType. Jika jenis struktur adalah GROUNDS, Anda bisa mendapatkan garis besarnya dari kolom placeView.displayPolygon. placeView juga akan memiliki kolom tambahan untuk alasan yang tidak ada di Geocoding API v3.

destination dapat memiliki objek placeView yang merepresentasikan alasan dalam kolom berikut:

  • destination.primary
  • destination.containingPlaces
  • destination.subDestinations

Perhatikan bahwa format placeView.displayPolygon cocok dengan format garis batas area di Geocoding API v3, yaitu format GeoJSON, menggunakan format RFC 7946.

Menggunakan mask kolom untuk meminta fitur ini

Endpoint SearchDestinations memerlukan mask kolom, seperti yang dijelaskan di Memilih kolom yang akan ditampilkan. Masker kolom dapat disetel ke * untuk menampilkan semua kolom, atau Anda dapat menyetelnya ke kolom tertentu yang ingin Anda terima. Misalnya, permintaan API berikut menetapkan mask kolom untuk menerima semua kolom yang diperlukan guna mendapatkan pintu masuk, titik navigasi, garis batas bangunan, dan area tujuan:

curl -X POST -d '{"place": "places/ChIJG3kh4hq6j4AR_XuFQnV0_t8"}' \
  -H "X-Goog-Api-Key: API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Goog-FieldMask: destinations.entrances,destinations.navigationPoints,destinations.primary,destinations.containingPlaces,destinations.subDestinations" \
  https://geocode.googleapis.com/v4alpha/geocode/destinations