Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
/TypeScript
Azure Maps Search Service adalah set RESTful API 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 lintang dan bujur yang ditampilkan oleh penelusuran dapat digunakan sebagai parameter di layanan Azure Maps lainnya, seperti layanan Rute dan Cuaca.
Paket ini berisi SDK isomorfik (berjalan baik di Node.js maupun di browser) untuk klien Pencarian Azure Maps.
Kode sumber | Paket (NPM) | Sampel | Informasi Produk
Memulai
Lingkungan yang didukung saat ini
- Versi LTS dari Node.js
- Safari, Chrome, Edge, dan Firefox versi terbaru.
Prasyarat
- Langganan Azure.
- Sebuah akun Azure Maps. Anda dapat membuat sumber daya melalui Portal Microsoft Azure, Azure PowerShell, atau Azure CLI.
Jika Anda menggunakan Azure CLI, ganti <resource-group-name> dan <map-account-name> pilihan Anda, dan pilih tingkat harga yang tepat berdasarkan kebutuhan Anda melalui <sku-name> parameter . Harap tinjau halaman ini untuk detail selengkapnya.
az maps account create --resource-group <resource-group-name> --name <map-account-name> --sku <sku-name>
Pasang paket @azure/maps-search
Instal pustaka klien Azure Maps Search dengan npm:
npm install @azure/maps-search
Membuat dan mengautentikasi MapsSearchClient
Untuk membuat objek klien untuk mengakses Azure Maps Search API, Anda memerlukan credential objek . Klien Azure Maps Search dapat menggunakan kredensial Azure Active Directory atau kredensial Azure Key untuk mengautentikasi.
Menggunakan Kredensial Azure Active Directory
Anda dapat mengautentikasi dengan Azure Active Directory menggunakan pustaka Azure Identity. Untuk menggunakan penyedia DefaultAzureCredential yang ditunjukkan di bawah ini, atau penyedia kredensial lain yang disediakan dengan Azure SDK, instal @azure/identity paket:
npm install @azure/identity
Anda juga perlu mendaftarkan aplikasi AAD baru dan memberikan akses ke Azure Maps dengan menetapkan peran yang sesuai untuk perwakilan layanan Anda. Silakan lihat halaman Kelola autentikasi .
Atur nilai ID klien, ID penyewa, dan rahasia klien aplikasi AAD sebagai variabel lingkungan: AZURE_CLIENT_ID, , AZURE_TENANT_IDAZURE_CLIENT_SECRET.
Anda juga perlu menentukan sumber daya Azure Maps yang ingin Anda gunakan dengan menentukan clientId di opsi klien.
Id klien sumber daya Azure Maps dapat ditemukan di bagian Autentikasi di sumber daya Azure Maps. Silakan lihat dokumentasi tentang cara menemukannya.
const { MapsSearchClient } = require("@azure/maps-search");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const client = new MapsSearchClient(credential, "<maps-account-client-id>");
Menggunakan Kredensial Kunci Langganan
Anda dapat mengautentikasi dengan Kunci Langganan Azure Maps Anda.
const { MapsSearchClient, AzureKeyCredential } = require("@azure/maps-search");
const credential = new AzureKeyCredential("<subscription-key>");
const client = new MapsSearchClient(credential);
Konsep utama
MapsSearchClient
MapsSearchClientadalah antarmuka utama untuk pengembang yang menggunakan pustaka klien Azure Maps Search. Jelajahi metode pada objek klien ini untuk memahami berbagai fitur Azure Maps layanan Pencarian yang dapat Anda akses.
Contoh
Bagian berikut ini menyediakan beberapa cuplikan kode yang mencakup beberapa tugas pencarian Azure Maps yang paling umum, termasuk:
- Meminta koordinat lintang dan bujur untuk alamat
- Mencari alamat atau Tempat Menarik
- Membuat Pencarian Alamat Terbalik untuk menerjemahkan lokasi koordinat ke alamat jalan
- Menerjemahkan lokasi koordinat ke dalam lintas jalan yang dapat dimengerti manusia
Meminta koordinat lintang dan bujur untuk alamat
Anda dapat menggunakan klien terautentikasi untuk mengonversi alamat menjadi koordinat lintang dan bujur. Proses ini juga disebut geocoding. Selain menampilkan koordinat, respons juga akan menampilkan properti detail alamat seperti jalan, kode pos, kotamadya, dan informasi negara/wilayah.
const searchResult = await client.searchAddress("400 Broad, Seattle");
for (const {
position: { lat, lon },
} of searchResult.results) {
console.log(`Latitude: ${lat}, Longitude: ${lon}`);
}
Mencari alamat atau Tempat Menarik
Anda dapat menggunakan Pencarian Fuzzy untuk mencari alamat atau tempat menarik (POI). Contoh berikut menunjukkan cara mencari pizza di atas cakupan negara tertentu (France, dalam contoh ini).
const fuzzySearchResult = await client.fuzzySearch({ query: "pizza", countryCodeFilter: ["fr"] });
for (const result of fuzzySearchResult.results) {
console.log(result);
}
Membuat Pencarian Alamat Terbalik untuk menerjemahkan lokasi koordinat ke alamat jalan
Anda dapat menerjemahkan koordinat ke alamat jalan yang dapat dibaca manusia. Proses ini juga disebut geocoding terbalik. Ini sering digunakan untuk aplikasi yang menggunakan umpan GPS dan ingin menemukan alamat pada titik koordinat tertentu.
const coordinates: LatLon = [47.59118, -122.3327]; // [latitude, longitude]
const { addresses } = await client.reverseSearchAddress(coordinates);
for (const { address } of addresses) {
console.log(address);
}
Menerjemahkan lokasi koordinat ke dalam lintas jalan yang dapat dimengerti manusia
Terjemahkan lokasi koordinat menjadi lintas jalan yang dapat dipahami manusia dengan menggunakan Search Address Reverse Cross Street API. Paling sering, hal ini diperlukan dalam aplikasi pelacakan yang menerima umpan GPS dari perangkat atau aset, dan ingin tahu di mana koordinatnya berada.
const coordinates: LatLon = [47.59118, -122.3327];
const { addresses } = await client.reverseSearchCrossStreetAddress(coordinates);
for (const { address } of addresses) {
console.log(address);
}
Pemecahan Masalah
Pencatatan
Mengaktifkan pengelogan dapat membantu menemukan informasi yang berguna tentang kegagalan. Untuk melihat log permintaan dan respons HTTP, atur variabel lingkungan AZURE_LOG_LEVEL ke info. Atau, pengelogan dapat diaktifkan saat runtime dengan memanggil setLogLevel di @azure/logger:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Untuk instruksi lebih rinci tentang cara mengaktifkan log, Anda dapat melihat dokumen paket @azure/pencatat.
Langkah berikutnya
Silakan lihat direktori sampel untuk contoh terperinci tentang cara menggunakan pustaka ini.
Berkontribusi
Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.
Proyek terkait

Azure SDK for JavaScript