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
- Akun Azure Maps
- Kunci langganan
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.
Buka aplikasi bruno, pilih PERMINTAAN BARU untuk membuat permintaan. Di jendela PERMINTAAN BARU, atur Jenis ke HTTP. Masukkan Nama untuk permintaan tersebut.
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
Pilih tombol Buat.
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.Di bagian Params , ubah
query
kunci menjadi400 Broad, Seattle
, lalu pilih tombol jalankan.Selanjutnya, coba atur
query
kunci ke400 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
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.
Cari alamat menggunakan 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.
Buka aplikasi bruno, pilih PERMINTAAN BARU untuk membuat permintaan. Di jendela PERMINTAAN BARU, atur Jenis ke HTTP. Masukkan Nama untuk permintaan tersebut.
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.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.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 keUS
. Mengatur kuncicountrySet
untukUS
mengikat hasil ke Amerika Serikat.Hasilnya sekarang dibatasi oleh kode negara dan kueri menampilkan restoran pizza di Amerika Serikat.
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 itulimit
, 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 Pilih jalankan. Respons tersebut mencakup hasil untuk restoran pizza di dekat Seattle Space Needle.
Mencari alamat jalan menggunakan Pencarian Alamat Terbalik
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.
Buka aplikasi bruno, pilih PERMINTAAN BARU untuk membuat permintaan. Di jendela PERMINTAAN BARU, atur Jenis ke HTTP. Masukkan Nama untuk permintaan tersebut.
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
Pilih tombol jalankan, dan tinjau isi respons. Anda akan melihat satu hasil kueri. Respons ini mencakup informasi alamat utama tentang Safeco Field.
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. Pilih tombol jalankan, dan tinjau isi respons.
Selanjutnya, tambahkan kunci
entityType
, dan atur nilainya keMunicipality
. KuncientityType
mengambil alihreturnMatchType
kunci di langkah sebelumnya.returnSpeedLimit
danreturnRoadUse
juga perlu dihapus karena Anda meminta informasi tentang kotamadya. Untuk semua jenis entitas yang mungkin, lihat Jenis Entitas.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.
Cari lintas jalan menggunakan Pencarian Lintas Jalan Alamat Terbalik
Contoh ini menunjukkan cara mencari lintas jalan berdasarkan koordinat alamat.
Buka aplikasi bruno, pilih PERMINTAAN BARU untuk membuat permintaan. Di jendela PERMINTAAN BARU, atur Jenis ke HTTP. Masukkan Nama untuk permintaan tersebut.
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
Pilih tombol jalankan, dan tinjau isi respons. Perhatikan bahwa respons berisi
crossStreet
nilaiSouth Atlantic Street
.