Bagikan melalui


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 Maps 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

Penting

Dalam contoh URL dalam artikel ini, Anda harus mengganti {Your-Azure-Maps-Subscription-key} dengan kunci langganan Azure Maps Anda.

Artikel ini menggunakan aplikasi bruno , 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. Buka aplikasi bruno, pilih PERMINTAAN BARU untuk membuat permintaan. Di jendela PERMINTAAN BARU, atur Jenis ke HTTP. Masukkan Nama untuk permintaan tersebut.

  2. Pilih metode HTTP GET di daftar drop-down URL, lalu masukkan URL berikut:

    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 Buat.

  4. Pilih tombol jalankan.

    Permintaan ini mencari alamat tertentu: 400 Broad St, Seattle, WA 98109. Selanjutnya, cari alamat yang memiliki lebih dari satu lokasi yang mungkin.

  5. Di bagian Params , ubah query kunci menjadi 400 Broad, Seattle, lalu pilih tombol jalankan.

    Cari alamat

  6. Selanjutnya, coba atur query kunci ke 400 Broa, lalu pilih tombol jalankan.

    Respons mencakup hasil dari beberapa negara/wilayah. Untuk hasil geobias ke area yang relevan untuk 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. Buka aplikasi bruno, pilih PERMINTAAN BARU untuk membuat permintaan. Di jendela PERMINTAAN BARU, atur Jenis ke HTTP. Masukkan Nama untuk permintaan tersebut.

  2. Pilih metode HTTP GET di daftar drop-down URL, lalu masukkan URL berikut:

    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 tombol jalankan, lalu tinjau isi respons.

    String kueri ambigu untuk "pizza" mengembalikan 10 hasil point of interest (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/wilayah yang didukung, lihat Cakupan geocoding Azure Maps.

  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.

    Mencari pizza di Amerika Serikat

    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 jalankan. 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 hasil geobias ke area yang relevan untuk 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. Buka aplikasi bruno, pilih PERMINTAAN BARU untuk membuat permintaan. Di jendela PERMINTAAN BARU, atur Jenis ke HTTP. Masukkan Nama untuk permintaan tersebut.

  2. Pilih metode HTTP GET di daftar drop-down URL, lalu masukkan 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
    
  3. Pilih tombol jalankan, 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 Mengembalikan
    number 1 Respons dapat mencakup sisi jalan (Kiri/Kanan) dan juga posisi offset untuk angka 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.

    Pencarian terbalik.

  5. Pilih tombol jalankan, dan tinjau isi respons.

  6. Selanjutnya, tambahkan kunci entityType , dan atur 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.

    Caro entityType terbalik.

  7. Pilih tombol jalankan. 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. Buka aplikasi bruno, pilih PERMINTAAN BARU untuk membuat permintaan. Di jendela PERMINTAAN BARU, atur Jenis ke HTTP. Masukkan Nama untuk permintaan tersebut.

  2. Pilih metode HTTP GET di daftar drop-down URL, lalu masukkan 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
    
  3. Pilih tombol jalankan, dan tinjau isi respons. Perhatikan bahwa respons berisi crossStreet nilai South Atlantic Street.

Langkah berikutnya