Azure Haritalar search services kullanarak konum arama
Azure Haritalar Arama Hizmeti , geliştiricilerin adresleri, yerleri ve iş dökümlerini ada, kategoriye ve diğer coğrafi bilgilere göre aramasına yardımcı olmak üzere tasarlanan bir dizi yeniden apı 'dir. Geleneksel coğrafi kodlamayı desteklemeye ek olarak, hizmetler Ayrıca coğrafi kod adreslerini ve çapraz Streets 'leri de Latitudes ve Longitudes temelinde ters çevirebilirsiniz. arama tarafından döndürülen enlem ve boylam değerleri, yönlendirme ve hava durumu hizmetleri gibi diğer Azure Haritalar hizmetlerinde parametre olarak kullanılabilir.
Bu makalede şunları yapmayı öğreneceksiniz:
- Adres Arama API'sini kullanarak bir adresin (geocode adres konumu) enlem ve boylam koordinatlarını isteyin.
- Benzer arama API'sini kullanarak bir adres veya ilgi noktası (POI) arayın.
- Koordinat konumunu cadde adresine çevirmek için ters adres araması yapın.
- Koordinat konumunu, arama adresi geriye yönelik arama API 'sinikullanarak, bir insan genelindeki bir merkezden karşılıklı olarak çevirin. Genellikle, bu, bir cihazdan veya varlıktan GPS akışı alan uygulamaları izlemek ve koordinat nerede bulunduğunu bildirmek için gereklidir.
Önkoşullar
- Azure Haritalar hesabı oluşturma
- Birincil anahtar veya abonelik anahtarı olarak da bilinen birincil bir abonelik anahtarı alın.
Bu öğretici Postman uygulamasını kullanır, ancak farklı bir API geliştirme ortamı seçebilirsiniz.
Bir adres (coğrafi kodlama) için Enlem ve Boylam iste
bu örnekte, bir adresi enlem ve boylam koordinatlarına dönüştürmek için Azure Haritalar arama adresi al apı 'sini kullanacağız. Bu işleme coğrafi kodlama da denir. Bu, koordinatları döndürmenin yanı sıra, cadde, posta kodu, municipsellik ve ülke/bölge bilgileri gibi ayrıntılı adres özelliklerini de döndürür.
İpucu
Geocode için bir adres kümesine sahipseniz, tek bir API çağrısında bir toplu sorgu göndermek için arama adresini gönder Batch API 'sini kullanabilirsiniz.
İsteği oluşturmak için Postman uygulamasında Yeni ' yi seçin. Yeni oluştur penceresinde http isteği' ni seçin. İstek için bir istek adı girin.
Oluşturucu sekmesinde http Al metodunu seçin ve aşağıdaki URL 'yi girin. Bu istekte, belirli bir adres için arama yapıyoruz:
400 Braod St, Seattle, WA 98109. Bu istek ve bu makalede bahsedilen diğer istekler için,{Azure-Maps-Primary-Subscription-key}birincil abonelik anahtarınızla değiştirin.https://atlas.microsoft.com/search/address/json?&subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=1.0&language=en-US&query=400 Broad St, Seattle, WA 98109Mavi Gönder düğmesine tıklayın. Yanıt gövdesinde tek bir konum için veriler yer alacak.
Şimdi birden fazla olası konumu olan bir adres arayacağız. Params bölümünde
queryanahtarı olarak değiştirin400 Broad, Seattle. Mavi Gönder düğmesine tıklayın.
Sonra,
queryanahtarı olarak ayarlamayı deneyin400 Broa.Gönder düğmesine tıklayın. Artık yanıtın birden çok ülkeden gelen yanıtları içerdiğini görebilirsiniz. Kullanıcılara yönelik ilgili alana yönelik sonuçları elde etmek için, her zaman istek için mümkün olduğunca fazla konum ayrıntısı ekleyin.
Benzer arama API 'sini kullanma
Azure Haritalar benzer arama apı 'si standart tek satırlı ve serbest form aramalarını destekler. arama isteği için kullanıcı giriş türünü bilmiyorsanız, benzer apı 'yi aramak için Azure Haritalar kullanmanızı öneririz. Sorgu girişi tam veya kısmi bir adres olabilir. Ayrıca, POI, POı kategorisi veya marka adı gibi bir Ilgi noktası (POı) belirteci de olabilir. Ayrıca, arama sonuçlarınızın uygunluğunu artırmak için, sorgu sonuçları bir koordinat konumu ve yarıçapı tarafından kısıtlanabilir veya bir sınırlayıcı kutu tanımlayarak kısıtlanabilir.
İpucu
Çoğu arama, performansı elde etmek ve olağandışı sonuçları azaltmak için varsayılan olarak Maxbelirsizlik Zylevel = 1 ' i sorgular. Veya parametrelerini kullanarak belirsizlik düzeylerini ayarlayabilirsiniz maxFuzzyLevel minFuzzyLevel . Hakkında daha fazla bilgi maxFuzzyLevel ve tüm isteğe bağlı parametrelerin tamamen listesi için bkz. benzer arama URI parametreleri
Benzer arama kullanarak adres arayın
Bu örnekte, tüm dünyayı aramak için belirsiz arama kullanacağız pizza . Ardından, belirli bir ülkenin kapsamını nasıl arayabileceksiniz. Son olarak, belirli bir alanda arama kapsamını ve döndürülen sonuçların sayısını sınırlamak için koordinat konumunu ve yarıçapını nasıl kullanacağınızı göstereceğiz.
Önemli
Kullanıcılar için ilgili alana sonuçları elde etmek için, her zaman mümkün olduğunca fazla konum ayrıntısı ekleyin. Daha fazla bilgi edinmek için bkz. arama Için En Iyi uygulamalar.
İsteği oluşturmak için Postman uygulamasında Yeni ' yi seçin. Yeni oluştur penceresinde http isteği' ni seçin. İstek için bir istek adı girin.
Oluşturucu sekmesinde http Al metodunu seçin ve aşağıdaki URL 'yi girin. Bu istek ve bu makalede bahsedilen diğer istekler için,
{Azure-Maps-Primary-Subscription-key}birincil abonelik anahtarınızla değiştirin.https://atlas.microsoft.com/search/fuzzy/json?&api-version=1.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}&language=en-US&query=pizzaNot
URL yolundaki JSON özniteliği yanıt biçimini belirler. Bu makalede, kullanım kolaylığı ve okunabilirlik için JSON kullanılır. Desteklenen diğer yanıt biçimlerini bulmak için
formatURI parametresi başvuru belgelerindekiparametre tanımına bakın.Gönder ' e tıklayın ve yanıt gövdesini gözden geçirin.
"Pizza" için belirsiz sorgu dizesi, hem "pizza" hem de "Restoran" kategorilerinde 10 ilgi çekici sonuç (POI) noktası döndürdü. Her sonuç, konum için sokak adresi, enlem ve boylam değerleri, görüntüleme bağlantı noktası ve giriş noktaları gibi ayrıntıları içerir. Sonuçlar artık bu sorgu için farklılaştırmıştır ve herhangi bir başvuru konumuna bağlı değildir.
Bir sonraki adımda,
countrySetyalnızca uygulamanızın kapsama ihtiyacı olan ülkeleri/bölgeleri belirtmek için parametresini kullanacağız. Desteklenen ülkelerin/bölgelerin tüm listesi için bkz. arama kapsamı.Varsayılan davranış, büyük olasılıkla gereksiz sonuçlar döndüren dünyanın tamamında arama yapmak için kullanılır. Daha sonra, pizza yalnızca Birleşik Devletler arayacağız.
countrySetAnahtarı params bölümüne ekleyin ve değerini olarak ayarlayınUS.countrySetAnahtarın olarak ayarlanması,USsonuçları Birleşik Devletler ile bağlanacaktır.
Sonuçlar artık ülke kodu ile sınırlıdır ve sorgu Birleşik Devletler.
Daha da hedeflenmiş bir arama sağlamak için, bir Lat./lonın kapsamında arama yapabilirsiniz. Koordinat çifti. Bu örnekte, Lat./Lonu kullanacağız. Seattle Space Iğne 'nin. Sonuçları yalnızca 400 ölçüm yarıçapı içinde döndürmek istiyoruz,
radiusparametresini ekleyeceğiz. Ayrıca,limitsonuçları en yakın beş pizza yerleştir ile sınırlamak için parametresini ekleyeceğiz.Params bölümünde aşağıdaki anahtar/değer çiftlerini ekleyin:
Anahtar Değer [ 47,620525 Lon -122,349274 La 400 limit 5 Gönder’e tıklayın. Yanıt, Seattle Space Iğne 'ye yakın olan pizza restoranlar için sonuçlar içerir.
Ters adres arama kullanarak sokak adresi arama
Azure Haritalar arama adresini al ters apı 'si , koordinatları insanlar tarafından okunabilen sokak adreslerine çevirir. Bu API genellikle GPS akışlarını kullanan uygulamalar için kullanılır ve belirli koordinat noktalarında adresler bulmayı ister.
Önemli
Kullanıcılar için ilgili alana sonuçları elde etmek için, her zaman mümkün olduğunca fazla konum ayrıntısı ekleyin. Daha fazla bilgi edinmek için bkz. arama Için En Iyi uygulamalar.
İpucu
Geriye doğru coğrafi koda sahip bir koordinat konumları kümesine sahipseniz, tek bir API çağrısında bir toplu sorgu göndermek için arama sonrası geri çevirme adresi toplu API 'sini kullanabilirsiniz.
Bu örnekte, kullanılabilir isteğe bağlı parametrelerin birkaçını kullanarak geriye doğru aramalar yapacağız. İsteğe bağlı parametrelerin tam listesi için bkz. ters arama parametreleri.
İsteği oluşturmak için Postman uygulamasında Yeni ' yi seçin. Yeni oluştur penceresinde http isteği' ni seçin. İstek için bir istek adı girin.
Oluşturucu sekmesinde http Al metodunu seçin ve aşağıdaki URL 'yi girin. Bu istek ve bu makalede bahsedilen diğer istekler için,
{Azure-Maps-Primary-Subscription-key}birincil abonelik anahtarınızla değiştirin. İstek aşağıdaki URL gibi görünmelidir:https://atlas.microsoft.com/search/address/reverse/json?api-version=1.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}&language=en-US&query=47.591180,-122.332700&number=1Gönder' e tıklayın ve yanıt gövdesini gözden geçirin. Bir sorgu sonucu görmeniz gerekir. Yanıt, Safeco alanı hakkındaki anahtar adres bilgilerini içerir.
Şimdi aşağıdaki anahtar/değer çiftlerini params bölümüne ekleyeceğiz:
Anahtar Değer Döndürülenler sayı 1 Yanıt, cadde (sol/sağ) yanı sıra sayı için de bir konum konumu içerebilir. returnSpeedLimit true Adresteki hız sınırını döndürür. returnRoadUse true Adreste yol kullanım türlerini döndürür. Tüm olası yol kullanım türleri için bkz. yol kullanım türleri. returnMatchType true Eşleşme türünü döndürür. Olası tüm değerler için bkz. ters adres arama sonuçları
Gönder' e tıklayın ve yanıt gövdesini gözden geçirin.
Sonra
entityTypeanahtarı ekleyecek ve değerini olarak ayarlayacağızMunicipality.entityTypeBu anahtar,returnMatchTypeönceki adımda anahtarı geçersiz kılar. AyrıcareturnSpeedLimitreturnRoadUse, municipsellik hakkında bilgi istediğimiz için de öğesini kaldırdık. Tüm olası varlık türleri için bkz. varlık türleri.
Gönder’e tıklayın. Sonuçları 5. adımda döndürülen sonuçlarla karşılaştırın. İstenen varlık türü artık olduğundan
municipality, yanıt, sokak adresi bilgisini içermez. ayrıca döndürülen,geometryIdAzure Haritalar arama çokgen apı 'siaracılığıyla sınır çokgen istemek için de kullanılabilir.
İpucu
Bu parametrelerle ilgili daha fazla bilgi edinmek ve diğerleri hakkında bilgi edinmek için, geriye doğru arama parametreleri bölümünebakın.
Ters adres çapraz arama kullanarak çapraz cadde arama
Bu örnekte, bir adresin koordinatları temelinde bir çapraz cadde arayacağız.
İsteği oluşturmak için Postman uygulamasında Yeni ' yi seçin. Yeni oluştur penceresinde http isteği' ni seçin. İstek için bir istek adı girin.
Oluşturucu sekmesinde http Al metodunu seçin ve aşağıdaki URL 'yi girin. Bu istek ve bu makalede bahsedilen diğer istekler için,
{Azure-Maps-Primary-Subscription-key}birincil abonelik anahtarınızla değiştirin. İstek aşağıdaki URL gibi görünmelidir:https://atlas.microsoft.com/search/address/reverse/crossstreet/json?&api-version=1.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}&language=en-US&query=47.591180,-122.332700
Gönder' e tıklayın ve yanıt gövdesini gözden geçirin. Yanıtın bir değeri içerdiğini fark edeceksiniz
crossStreetSouth Atlantic Street.