Bagikan melalui


Azure Maps Cari pustaka klien untuk JavaScript - versi 1.0.0-beta.2

/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

Prasyarat

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

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.

Tayangan