Aracılığıyla paylaş


Azure Haritalar JavaScript için istemci kitaplığında arama yapma - sürüm 1.0.0-beta.2

/TypeScript

Azure Haritalar Arama Hizmeti, geliştiricilerin adresleri, yerleri ve iş listelerini ada, kategoriye ve diğer coğrafi bilgilere göre aramasına yardımcı olmak için tasarlanmış bir DIZI RESTful API'dir. Hizmetler, geleneksel coğrafi kodlamayı desteklemenin yanı sıra, enlemler ve boylamlar temelinde adresleri ve caddeler arası coğrafi kodları tersine çevirebilir. Arama tarafından döndürülen enlem ve boylam değerleri, Rota ve Hava Durumu hizmetleri gibi diğer Azure Haritalar hizmetlerinde parametre olarak kullanılabilir.

Bu paket, Azure Haritalar Search istemcisi için bir isomorphic SDK (hem Node.js hem de tarayıcılarda çalışır) içerir.

Kaynak kodu | Paket (NPM) | Örnekleri | Ürün Bilgileri

Başlarken

Şu anda desteklenen ortamlar

Önkoşullar

Azure CLI kullanıyorsanız ve tercih ettiğinizi değiştirin <resource-group-name><map-account-name> ve parametresi aracılığıyla <sku-name> gereksinimlerinize göre uygun bir fiyatlandırma katmanı seçin. Daha fazla ayrıntı için lütfen bu sayfaya bakın.

az maps account create --resource-group <resource-group-name> --name <map-account-name> --sku <sku-name>

@azure/maps-search paketini yükleyin

ile npmAzure Haritalar Search istemci kitaplığını yükleyin:

npm install @azure/maps-search

Oluşturma ve kimlik doğrulaması MapsSearchClient

Azure Haritalar Arama API'lerine erişmek üzere bir istemci nesnesi oluşturmak için bir credential nesne gerekir. Azure Haritalar Search istemcisi kimlik doğrulaması için Azure Active Directory kimlik bilgilerini veya Azure Anahtarı kimlik bilgilerini kullanabilir.

Azure Active Directory Kimlik Bilgilerini Kullanma

Azure Kimlik kitaplığını kullanarak Azure Active Directory ile kimlik doğrulaması yapabilirsiniz. Aşağıda gösterilen DefaultAzureCredential sağlayıcısını veya Azure SDK ile sağlanan diğer kimlik bilgileri sağlayıcılarını kullanmak için lütfen paketi yükleyin @azure/identity :

npm install @azure/identity

Ayrıca yeni bir AAD uygulaması kaydetmeniz ve hizmet sorumlunuza uygun rolü atayarak Azure Haritalar erişimi vermeniz gerekir. Lütfen Kimlik doğrulamasını yönetme sayfasına bakın.

AAD uygulamasının istemci kimliği, kiracı kimliği ve istemci gizli dizisi değerlerini ortam değişkenleri olarak ayarlayın: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET.

İstemci seçeneklerinde öğesini belirterek kullanmayı planladığınız Azure Haritalar kaynağını da belirtmeniz clientId gerekir. Azure Haritalar kaynak istemci kimliği, Azure Haritalar kaynağındaki Kimlik Doğrulaması bölümlerinde bulunabilir. Lütfen nasıl bulabileceğinize ilişkin belgelere bakın.

const { MapsSearchClient } = require("@azure/maps-search");
const { DefaultAzureCredential } = require("@azure/identity");

const credential = new DefaultAzureCredential();
const client = new MapsSearchClient(credential, "<maps-account-client-id>");

Abonelik Anahtarı Kimlik Bilgisi Kullanma

Azure Haritalar Abonelik Anahtarınızla kimlik doğrulaması yapabilirsiniz.

const { MapsSearchClient, AzureKeyCredential } = require("@azure/maps-search");

const credential = new AzureKeyCredential("<subscription-key>");
const client = new MapsSearchClient(credential);

Önemli kavramlar

HaritalarSearchClient

MapsSearchClient, Azure Haritalar Search istemci kitaplığını kullanan geliştiriciler için birincil arabirimdir. Erişebileceğiniz Azure Haritalar Arama hizmeti farklı özelliklerini anlamak için bu istemci nesnesinde yöntemleri keşfedin.

Örnekler

Aşağıdaki bölümlerde, en yaygın Azure Haritalar Arama görevlerinden bazılarını kapsayan çeşitli kod parçacıkları sağlanır:

Adres için enlem ve boylam koordinatları isteme

Kimliği doğrulanmış bir istemciyi kullanarak adresi enlem ve boylam koordinatlarına dönüştürebilirsiniz. Bu işleme coğrafi kodlama da denir. Yanıt, koordinatları döndürmenin yanı sıra sokak, posta kodu, belediye ve ülke/bölge bilgileri gibi ayrıntılı adres özelliklerini de döndürür.

const searchResult = await client.searchAddress("400 Broad, Seattle");
for (const {
  position: { lat, lon },
} of searchResult.results) {
  console.log(`Latitude: ${lat}, Longitude: ${lon}`);
}

Adres veya İlgi Noktası arama

Bir adresi veya ilgi çekici noktayı (POI) aramak için Benzer Arama'yı kullanabilirsiniz. Aşağıdaki örnek, belirli bir ülkeninFrance kapsamı (bu örnekte) üzerinde arama pizza yapmayı gösterir.

const fuzzySearchResult = await client.fuzzySearch({ query: "pizza", countryCodeFilter: ["fr"] });
for (const result of fuzzySearchResult.results) {
  console.log(result);
}

Koordinat konumunu sokak adresine çevirmek için Ters Adres Araması yapma

Koordinatları okunabilir sokak adreslerine çevirebilirsiniz. Bu işleme ters coğrafi kodlama da denir. Bu genellikle GPS akışlarını kullanan ve belirli koordinat noktalarında adresleri bulmak isteyen uygulamalar için kullanılır.

const coordinates: LatLon = [47.59118, -122.3327]; // [latitude, longitude]

const { addresses } = await client.reverseSearchAddress(coordinates);
for (const { address } of addresses) {
  console.log(address);
}

Koordinat konumunu insan tarafından anlaşılabilen bir caddeye çevirin

Arama Adresi Ters Çapraz Cadde API'sini kullanarak koordinat konumunu insanlar tarafından anlaşılabilen bir caddeye çevirin. Çoğu zaman, bu, bir cihazdan veya varlıktan GPS akışı alan ve koordinatın nerede olduğunu bilmek isteyen uygulamaları izlemede gereklidir.

const coordinates: LatLon = [47.59118, -122.3327];

const { addresses } = await client.reverseSearchCrossStreetAddress(coordinates);
for (const { address } of addresses) {
  console.log(address);
}

Sorun giderme

Günlüğe Kaydetme

Günlüğün etkinleştirilmesi hatalarla ilgili yararlı bilgilerin ortaya çıkarılmasına yardımcı olabilir. HTTP isteklerinin ve yanıtlarının günlüğünü görmek için ortam değişkenini AZURE_LOG_LEVEL olarak infoayarlayın. Alternatif olarak, günlüğü çalışma zamanında içinde çağrılarak setLogLevel@azure/loggeretkinleştirilebilir:

const { setLogLevel } = require("@azure/logger");
setLogLevel("info");

Günlükleri etkinleştirme hakkında daha ayrıntılı yönergeler için @azure/günlükçü paketi belgelerine bakabilirsiniz.

Sonraki adımlar

Bu kitaplığın nasıl kullanılacağına ilişkin ayrıntılı örnekler için lütfen samples dizinine göz atın.

Katkıda bulunma

Bu kitaplığa katkıda bulunmak isterseniz, kodu derleme ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzunu okuyun.

İzlenimler