Mencari lokasi menggunakan layanan Pencarian Azure Maps

Layanan Pencarian adalah sekumpulan API RESTful yang dirancang untuk membantu pengembang mencari alamat, tempat, dan daftar bisnis berdasarkan nama, kategori, dan informasi geografis lainnya. Selain mendukung geocoding tradisional, layanan juga dapat membalikkan alamat geocode dan lintas jalan berdasarkan garis lintang dan bujur. Nilai garis lintang dan garis bujur yang dikembalikan oleh pencarian dapat digunakan sebagai parameter di layanan Azure Peta lainnya, seperti Rute dan Cuaca.

Artikel ini menunjukkan cara untuk:

  • Minta koordinat garis lintang dan bujur untuk alamat (lokasi alamat geocode) dengan menggunakan Alamat Pencarian.
  • Cari alamat atau Point of Interest (POI) menggunakan Fuzzy Search.
  • Gunakan Pencarian Alamat Terbalik untuk menerjemahkan lokasi koordinat ke alamat jalan.
  • Terjemahkan lokasi koordinat ke dalam lintas jalan yang dapat dimengerti manusia menggunakan Search Address Reverse Cross Street, paling sering diperlukan dalam aplikasi pelacakan yang menerima umpan GPS dari perangkat atau aset, dan ingin tahu di mana koordinat berada.

Prasyarat

Tutorial ini menggunakan aplikasi Postman, tetapi Anda dapat memilih lingkungan pengembangan API yang berbeda.

Meminta garis lintang dan bujur untuk alamat (geocoding)

Contoh di bagian ini menggunakan Dapatkan Alamat Pencarian untuk mengonversi alamat menjadi koordinat lintang dan bujur. Proses ini juga disebut geocoding. Selain mengembalikan koordinat, respons juga mengembalikan properti alamat terperinci seperti jalan, kode pos, kotamadya, dan informasi negara/wilayah.

Tip

Jika Anda memiliki sekumpulan alamat untuk geocode, Anda dapat menggunakan Post Search Address Batch untuk mengirim batch kueri dalam satu permintaan.

  1. Di aplikasi Postman, pilih New untuk membuat permintaan. Di jendela Buat Baru, pilih Permintaan HTTP. Masukkan Nama permintaan untuk permintaan tersebut.

  2. Pilih metode HTTP GET di tab penyusun dan masukkan URL berikut. Dalam permintaan ini, kami sedang mencari alamat tertentu: 400 Braod St, Seattle, WA 98109. Untuk permintaan ini, dan permintaan lain yang disebutkan dalam artikel ini, ganti {Your-Azure-Maps-Subscription-key} dengan kunci langganan Azure Peta Anda.

    https://atlas.microsoft.com/search/address/json?&subscription-key={Your-Azure-Maps-Subscription-key}&api-version=1.0&language=en-US&query=400 Broad St, Seattle, WA 98109
    
  3. Pilih tombol Kirim biru. Isi respons berisi data untuk satu lokasi.

  4. Selanjutnya, cari alamat yang memiliki lebih dari satu lokasi yang mungkin. Di bagian Params, ubah kunci query menjadi 400 Broad, Seattle. Pilih tombol Kirim biru.

    Search for address

  5. Selanjutnya, coba atur kunci query ke 400 Broa.

  6. Pilih tombol Kirim. Respons mencakup hasil dari beberapa negara/wilayah. Untuk mendapatkan hasil geobias ke area yang relevan bagi pengguna Anda, selalu tambahkan detail lokasi sebanyak mungkin ke permintaan.

Pencarian Fuzzy mendukung pencarian garis tunggal dan bentuk bebas standar. Sebaiknya Anda menggunakan Azure Maps Search Fuzzy API saat tidak mengetahui jenis input pengguna untuk permintaan pencarian. Input kueri dapat berupa alamat lengkap atau sebagian. Bisa juga berupa token Point of Interest (POI), seperti nama POI, kategori POI atau nama merek. Selain itu, untuk meningkatkan relevansi hasil pencarian Anda, batasi hasil kueri menggunakan lokasi koordinat dan radius, atau dengan menentukan kotak pembatas.

Tip

Sebagian besar kueri Pencarian default untuk maxFuzzyLevel=1 meningkatkan performa dan mengurangi hasil yang tidak biasa. Sesuaikan tingkat fuzziness dengan menggunakan maxFuzzyLevel parameter atau minFuzzyLevel . Untuk informasi selengkapnya tentang maxFuzzyLevel dan daftar lengkap semua parameter opsional, lihat Parameter URI Pencarian Fuzzy.

Contoh di bagian ini menggunakan Fuzzy Search untuk mencari pizza di seluruh dunia, lalu mencari di atas cakupan negara/wilayah tertentu. Terakhir, ini menunjukkan cara menggunakan lokasi koordinat dan radius untuk mencakup pencarian di atas area tertentu, dan membatasi jumlah hasil yang dikembalikan.

Penting

Untuk mendapatkan hasil geobias ke area yang relevan bagi pengguna Anda, selalu tambahkan detail lokasi sebanyak mungkin. Untuk informasi selengkapnya, lihat Praktik Terbaik untuk Pencarian.

  1. Di aplikasi Postman, pilih New untuk membuat permintaan. Di jendela Buat Baru, pilih Permintaan HTTP. Masukkan Nama permintaan untuk permintaan tersebut.

  2. Pilih metode HTTP GET di tab penyusun dan masukkan URL berikut. Untuk permintaan ini, dan permintaan lain yang disebutkan dalam artikel ini, ganti {Your-Azure-Maps-Subscription-key} dengan kunci langganan Azure Peta Anda.

    https://atlas.microsoft.com/search/fuzzy/json?&api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=pizza
    

    Catatan

    Atribut json di jalur URL menentukan format respons. Artikel ini menggunakan json untuk kemudahan penggunaan dan keterbacaan. Untuk menemukan format respons lain yang didukung, lihat format definisi parameter di dokumentasi referensi Parameter URI.

  3. Pilih Kirim dan tinjau isi respons.

    String kueri ambigu untuk "pizza" menampilkan 10 hasil tempat menarik (POI) dalam kategori "pizza" dan "restoran". Setiap hasil mencakup detail seperti alamat jalan, nilai lintang dan bujur, port tampilan, dan titik masuk untuk lokasi tersebut. Hasilnya sekarang bervariasi untuk kueri ini, dan tidak terkait dengan lokasi referensi apa pun.

    Pada langkah berikutnya, Anda akan menggunakan countrySet parameter untuk menentukan hanya negara/wilayah yang perlu dicakup oleh aplikasi Anda. Untuk daftar lengkap negara/wilaah yang didukung, lihat Cakupan Pencarian.

  4. Perilaku default adalah mencari di seluruh dunia, berpotensi menampilkan hasil yang tidak perlu. Selanjutnya, cari pizza hanya di Amerika Serikat. Tambahkan kunci countrySet ke bagian Params, dan tetapkan nilainya ke US. Mengatur kunci countrySet untuk US mengikat hasil ke Amerika Serikat.

    Search for pizza in the United States

    Hasilnya sekarang dibatasi oleh kode negara dan kueri menampilkan restoran pizza di Amerika Serikat.

  5. Untuk mendapatkan pencarian yang lebih ditargetkan, Anda dapat mencari cakupan pasangan koordinat lat/lon. Contoh berikut menggunakan koordinat lat/lon dari Seattle Space Needle. Karena kita hanya ingin mengembalikan hasil dalam radius 400 meter, kita menambahkan radius parameter . Selain itu limit , kami menambahkan parameter untuk membatasi hasil ke lima tempat pizza terdekat.

    Di bagian Params, tambahkan pasangan kunci/nilai berikut ini:

    Tombol Nilai
    lat 47.620525
    lon -122.349274
    radius 400
    batas 5
  6. Pilih Kirim. Respons tersebut mencakup hasil untuk restoran pizza di dekat Seattle Space Needle.

Dapatkan Alamat Pencarian Terbalik menerjemahkan koordinat ke alamat jalan yang dapat dibaca manusia. API ini sering digunakan untuk aplikasi yang menggunakan umpan GPS dan ingin menemukan alamat di titik koordinat tertentu.

Penting

Untuk mendapatkan hasil geobias ke area yang relevan bagi pengguna Anda, selalu tambahkan detail lokasi sebanyak mungkin. Untuk informasi selengkapnya, lihat Praktik Terbaik untuk Pencarian.

Tip

Jika Anda memiliki sekumpulan lokasi koordinat untuk membalikkan geocode, Anda dapat menggunakan Post Search Address Reverse Batch untuk mengirim batch kueri dalam satu permintaan.

Contoh ini menunjukkan pembuatan pencarian terbalik menggunakan beberapa parameter opsional yang tersedia. Untuk daftar lengkap parameter opsional, lihat Parameter Pencarian Terbalik.

  1. Di aplikasi Postman, pilih New untuk membuat permintaan. Di jendela Buat Baru, pilih Permintaan HTTP. Masukkan Nama permintaan untuk permintaan tersebut.

  2. Pilih metode HTTP GET di tab penyusun dan masukkan URL berikut. Untuk permintaan ini, dan permintaan lain yang disebutkan dalam artikel ini, ganti {Your-Azure-Maps-Subscription-key} dengan kunci langganan Azure Peta Anda. Permintaan harus terlihat seperti URL berikut:

    https://atlas.microsoft.com/search/address/reverse/json?api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=47.591180,-122.332700&number=1
    
  3. Pilih Kirim, dan tinjau isi respons. Anda akan melihat satu hasil kueri. Respons ini mencakup informasi alamat utama tentang Safeco Field.

  4. Selanjutnya, tambahkan pasangan kunci/nilai berikut ke bagian Params :

    Tombol Nilai Kembali
    number 1 Responsnya dapat mencakup sisi jalan (Kiri/Kanan) dan juga posisi offset untuk nomor tersebut.
    returnSpeedLimit benar Menampilkan batas kecepatan di alamat.
    returnRoadUse benar Menampilkan jenis penggunaan jalan di alamat. Untuk semua jenis penggunaan jalan yang mungkin, lihat Jenis Penggunaan Jalan.
    returnMatchType benar Menampilkan jenis kecocokan. Untuk semua nilai yang mungkin, lihat Hasil Pencarian Alamat Terbalik.

    Search reverse.

  5. Pilih Kirim, dan tinjau isi respons.

  6. Selanjutnya, kita menambahkan entityType kunci, dan mengatur nilainya ke Municipality. Kunci entityType mengambil alih returnMatchType kunci di langkah sebelumnya. returnSpeedLimit dan returnRoadUse juga perlu dihapus karena Anda meminta informasi tentang kotamadya. Untuk semua jenis entitas yang mungkin, lihat Jenis Entitas.

    Search reverse entityType.

  7. Pilih Kirim. Bandingkan hasil dengan hasil yang ditampilkan di langkah 5. Karena jenis entitas yang diminta sekarang municipality, respons tidak menyertakan informasi alamat jalan. Selain itu, geometryId yang ditampilkan dapat digunakan untuk meminta poligon batas melalui Azure Maps Get Search Polygon API.

Tip

Untuk informasi selengkapnya tentang parameter ini serta parameter lainnya, lihat Parameter Pencarian Terbalik.

Contoh ini menunjukkan cara mencari lintas jalan berdasarkan koordinat alamat.

  1. Di aplikasi Postman, pilih New untuk membuat permintaan. Di jendela Buat Baru, pilih Permintaan HTTP. Masukkan Nama permintaan untuk permintaan tersebut.

  2. Pilih metode HTTP GET di tab penyusun dan masukkan URL berikut. Untuk permintaan ini, dan permintaan lain yang disebutkan dalam artikel ini, ganti {Your-Azure-Maps-Subscription-key} dengan kunci langganan Azure Peta Anda. Permintaan harus terlihat seperti URL berikut:

    https://atlas.microsoft.com/search/address/reverse/crossstreet/json?&api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=47.591180,-122.332700
    

    Search cross street.

  3. Pilih Kirim, dan tinjau isi respons. Perhatikan bahwa respons berisi crossStreet nilai South Atlantic Street.

Langkah berikutnya