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

  1. Azure Haritalar hesabı oluşturma
  2. 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.

  1. İ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.

  2. 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 98109
    
  3. Mavi Gönder düğmesine tıklayın. Yanıt gövdesinde tek bir konum için veriler yer alacak.

  4. Şimdi birden fazla olası konumu olan bir adres arayacağız. Params bölümünde query anahtarı olarak değiştirin 400 Broad, Seattle . Mavi Gönder düğmesine tıklayın.

    Adres ara

  5. Sonra, query anahtarı olarak ayarlamayı deneyin 400 Broa .

  6. 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

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.

  1. İ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.

  2. 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=pizza
    

    Not

    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 format URI parametresi başvuru belgelerindekiparametre tanımına bakın.

  3. 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, countrySet yalnı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ı.

  4. 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ın US . countrySetAnahtarın olarak ayarlanması, US sonuçları Birleşik Devletler ile bağlanacaktır.

    Birleşik Devletler için pizza araması yapın

    Sonuçlar artık ülke kodu ile sınırlıdır ve sorgu Birleşik Devletler.

  5. 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, radius parametresini ekleyeceğiz. Ayrıca, limit sonuç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
  6. Gönder’e tıklayın. Yanıt, Seattle Space Iğne 'ye yakın olan pizza restoranlar için sonuçlar içerir.

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.

  1. İ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.

  2. 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=1
    
  3. Gö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.

  4. Ş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ı

    Ters arama.

  5. Gönder' e tıklayın ve yanıt gövdesini gözden geçirin.

  6. Sonra entityType anahtarı ekleyecek ve değerini olarak ayarlayacağız Municipality . entityTypeBu anahtar, returnMatchType önceki adımda anahtarı geçersiz kılar. Ayrıca returnSpeedLimit returnRoadUse , 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.

    Ters entityType 'ı arayın.

  7. 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, geometryId Azure 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.

Bu örnekte, bir adresin koordinatları temelinde bir çapraz cadde arayacağız.

  1. İ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.

  2. 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
    

    Çapraz cadde ara.

  3. 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 crossStreet South Atlantic Street .

Sonraki adımlar