Azure Haritalar Search Hizmeti için en iyi yöntemler
Azure Haritalar Search Hizmeti geliştiricilerin ad veya kategoriye göre adres, yer, iş listesi ve diğer coğrafi bilgileri aramalarına yardımcı olmak için çeşitli özellikler sunan API'ler içerir. Örneğin Belirsiz AramaAPI'si kullanıcıların bir adres veya İlgi Noktası (POI) aramasına izin verir.
Bu makalede, Azure Haritalar Search Hizmeti'nden veri çağıran ses uygulamalarının nasıl Haritalar açıklanmıştır. Şunları öğrenirsiniz:
- İlgili eşleşmeleri iade etmek için sorgular oluşturma
- Arama sonuçlarını sınırlama
- Sonuç türleri arasındaki farkları öğrenme
- Adres arama-yanıt yapısını okuma
Önkoşullar
- Azure Haritalar hesabı yapma
- Birincil anahtar veya abonelik anahtarıolarak da bilinen birincil abonelik anahtarını alın.
Bu makalede REST çağrıları oluşturmak için Postman uygulaması kullanılır, ancak herhangi bir API geliştirme ortamını seçebilirsiniz.
Adresleri coğrafi kodlamak için en iyi yöntemler
Azure Haritalar Search Hizmeti'nı kullanarak tam veya kısmi bir adres için arama yaptısanız, API arama sorgunuzdan anahtar sözcükleri okur. Ardından adresin boylam ve enlem koordinatlarını döndürür. Bu işlem coğrafi olarakcoding olarak adlandırılan bir işlemdir.
Bir ülkede/bölgede coğrafi kodlama özelliği yol verisi kullanılabilirliği ve coğrafi kodlama hizmetinin duyarlığına bağlıdır. Ülkeye veya bölgeye göre azure Haritalar özellikleri hakkında daha fazla bilgi için bkz. Coğrafi kapsam kapsamı.
Arama sonuçlarını sınırlama
Azure Haritalar Arama API'si arama sonuçlarını uygun şekilde sınırlamanıza yardımcı olabilir. Kullanıcılarınıza ilgili verileri görüntüley etmek için sonuçları sınırlandırabilirsiniz.
Not
Arama API'leri, bu makalede ele alan parametrelerden daha fazla parametreyi destekler.
Coğrafi olarak taraflı arama sonuçları
Sonuçları kullanıcınıza uygun alana coğrafi olarak sapmak için her zaman mümkün olduğunca çok konum ayrıntısı ekleyin. Bazı giriş türlerini belirterek arama sonuçlarını kısıtlamak iyi olabilir:
parametresini
countrySetayarlayın. Örneğin, olarakUS,FRayarlayın. Varsayılan olarak, API tüm dünyada arama yaptığı için gereksiz sonuçlar elde ediyor olabilir. SorgunuzcountrySetparametreye sahipse arama yanlış sonuçlar dönüşe neden olabilir. Örneğin Bellevue adlı bir şehri aramak ABD ve Fransa'dan sonuç döndürür çünkü her iki ülke/bölge de Bellevue adlı bir şehir içerir.Sınırlayıcı kutuyu
btmRighttopleftayarlamak için ve parametrelerini kullanabilirsiniz. Bu parametreler, aramanın harita üzerinde belirli bir alanla kısıtlayıcı olduğunu gösterir.Sonuçların ilgi düzeyini etkilemek için ve koordinat
latlonparametrelerini tanımlayın. Aramaradiusalanı yarıçapını ayarlamak için parametresini kullanın.
Belirsiz arama parametreleri
Arama sorgusu için kullanıcı girişlerinizi bilmiyor Haritalar Belirsiz Arama API'sini kullanmanızı öneririz. Örneğin, kullanıcıdan gelen giriş, alışveriş alışveriş merkezi gibi bir adres veya İlgi Noktası (POI) türü olabilir. API, POI aramasını ve coğraficoding'i kurallı tek satırlı bir aramada birleştirir:
ve parametreleri, sorgu parametreleri kullanıcının istediği bilgilerle tam olarak eşleşmese bile ilgili
minFuzzyLevelmaxFuzzyLeveleşleşmeleri iade etmeye yardımcı olur. Performansı en üst düzeye çıkarmak ve olağan dışı sonuçları azaltmak için arama sorgularını ve varsayılanlarınaminFuzzyLevel=1maxFuzzyLevel=2ayarlayın.Örneğin, parametresi
maxFuzzyLevel2 olarak ayarlanırsa, restrant arama terimi restoranla eş değerdir. Varsayılan belirsiz düzeyleri, ihtiyacınız olduğunda geçersiz kılarak değiştirebilirsiniz.Sonuç
idxSettürlerinin tam kümesine öncelik belirlemek için parametresini kullanın. Tam bir sonuç kümesine öncelik belirlemek için virgülle ayrılmış dizinler listesi gönderebilirsiniz. Listenizin içinde öğe sırası önemli değildir. Azure Haritalar aşağıdaki dizinleri destekler:Addr- Adres aralıkları: Caddenin başından ve sonundan irdelenmiş adres noktaları. Bu noktalar adres aralıkları olarak temsil edildi.Geo- Coğrafyalar: Karanın yönetim birimleri. Coğrafya bir ülke/bölge, eyalet veya şehir olabilir.PAD- Nokta adresleri: Sokak adı ve sayı içeren adresler. Nokta adresleri bir dizinde bulunabilir. Örneğin, Soquel Dr 2501. Bir nokta adresi, adresler için kullanılabilen en yüksek doğruluk düzeyini sağlar.POI- İlgi çekici noktalar: Dikkat etmeye değecek veya ilgi çekici olabileceği düşünülen bir harita üzerinde noktalar. Arama Adresi API'si POI'leri iade etmez.Str- Sokaklar: Harita üzerinde sokaklar.XStr- Sokaklar arası veya kesişimler: İki caddenin kesiştiği birleşimler veya yerler.
Kullanım örnekleri
idxSet=POI- Yalnızca POI'leri ara.idxSet=PAD,Addr- Yalnızca adreslerde arama.PAD, nokta adresini veAddradres aralığını gösterir.
Coğrafi kodu tersine çevirme ve coğrafya varlık türü için filtreleme
Arama Adresi Ters API'sinde ters coğrafi kod araması yapmak, hizmet yönetim alanları için çokgenler dönüşebilir. Örneğin, bir şehrin alan çokgeni getirmek istiyor olabilir. Aramanızı belirli coğrafya varlık türlerine daraltmak için, entityType isteklerinize parametresini dahil etmek.
Sonuçta elde edilen yanıt, coğrafya kimliğini ve eşlene varlık türünü içerir. Birden fazla varlık sağlarsanız uç nokta, kullanılabilir en küçük varlığı döndürür. Arama Çokgen hizmeti aracılığıyla coğrafyanın geometrisini almak için döndürülen geometri kimliğini kullanabilirsiniz.
Örnek istek
https://atlas.microsoft.com/search/address/reverse/json?api-version=1.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}&query=47.6394532,-122.1304551&language=en-US&entityType=Municipality
Yanıt
{
"summary": {
"queryTime": 14,
"numResults": 1
},
"addresses": [
{
"address": {
"routeNumbers": [],
"countryCode": "US",
"countrySubdivision": "WA",
"countrySecondarySubdivision": "King",
"countryTertiarySubdivision": "Seattle East",
"municipality": "Redmond",
"country": "United States",
"countryCodeISO3": "USA",
"countrySubdivisionName": "Washington"
},
"position": "47.639454,-122.130455",
"dataSources": {
"geometry": {
"id": "00005557-4100-3c00-0000-0000596ae571"
}
},
"entityType": "Municipality"
}
]
}
Sonuç dilini ayarlama
Döndürülen language arama sonuçlarının dilini ayarlamak için parametresini kullanın. İstek dili ayarlanmasa, varsayılan olarak Arama Hizmeti ülke veya bölgedeki en yaygın dili kullanır. Belirtilen dilde veri mevcut olduğunda varsayılan dil kullanılır.
Daha fazla bilgi için bkz. Azure Haritalar dilleri.
Tahmine dayalı modu kullanma (otomatik öneriler)
Kısmi sorgular için daha fazla eşleşme bulmak için typeahead parametresini olarak true ayarlayın. Bu sorgu kısmi giriş olarak yorumlanır ve arama tahmine dayalı moda girer. parametresini olarak typeahead ayarlasanız, true hizmet tüm ilgili bilgilerin geçirildi olduğunu varsayıyor.
Aşağıdaki örnek sorguda, Arama Adresi hizmeti Microso için sorgulandı. Burada parametresi typeahead olarak ayarlanmış. true Yanıt, arama hizmetinin sorguyu kısmi sorgu olarak yorumlamış olduğunu gösterir. Yanıt, otomatik olarak önerilen bir sorgunun sonuçlarını içerir.
Örnek sorgu
https://atlas.microsoft.com/search/address/json?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=1.0&typeahead=true&countrySet=US&lat=47.6370891183&lon=-122.123736172&query=Microsoft
Yanıt
{
"summary": {
"query": "microsoft",
"queryType": "NON_NEAR",
"queryTime": 18,
"numResults": 7,
"offset": 0,
"totalResults": 7,
"fuzzyLevel": 1,
"geoBias": {
"lat": 47.6370891183,
"lon": -122.123736172
}
},
"results": [
{
"type": "Street",
"id": "US/STR/p0/9438784",
"score": 2.594099998474121,
"dist": 314.0590106663596,
"address": {
"streetName": "Microsoft Way",
"municipalitySubdivision": "Redmond",
"municipality": "Redmond",
},
"position": {
"lat": 47.63988,
"lon": -122.12438
},
"viewport": {
"topLeftPoint": {
"lat": 47.64223,
"lon": -122.1256,
"valid": true
},
"btmRightPoint": {
"lat": 47.63748,
"lon": -122.12309,
"valid": true
}
}
},
{
"type": "Street",
"id": "US/STR/p0/1756074",
"score": 2.592679977416992,
"dist": 876.0272035824189,
"address": {
"streetName": "Microsoft Road",
"municipalitySubdivision": "Redmond",
"municipality": "Redmond",
"countrySecondarySubdivision": "King",
"countryTertiarySubdivision": "Seattle East",
"countrySubdivision": "WA",
"countrySubdivisionName": "Washington",
"postalCode": "98052",
"countryCode": "US",
"country": "United States",
"countryCodeISO3": "USA",
"freeformAddress": "Microsoft Road, Redmond, WA 98052"
},
"position": {
"lat": 47.64032,
"lon": -122.1344
},
"viewport": {
"topLeftPoint": {
"lat": 47.64253,
"lon": -122.13535,
"valid": true
},
"btmRightPoint": {
"lat": 47.63816,
"lon": -122.13305,
"valid": true
}
}
},
{
"type": "Street",
"id": "US/STR/p0/1470668",
"score": 2.5290400981903076,
"dist": 2735.4883918101486,
"address": {
"streetName": "Microsoft West Campus Road",
"municipalitySubdivision": "Redmond",
"municipality": "Bellevue",
"countrySecondarySubdivision": "King",
"countryTertiarySubdivision": "Seattle East",
"countrySubdivision": "WA",
"countrySubdivisionName": "Washington",
"postalCode": "98007",
"countryCode": "US",
"country": "United States",
"countryCodeISO3": "USA",
"freeformAddress": "Microsoft West Campus Road, Bellevue, WA 98007"
},
"position": {
"lat": 47.65784,
"lon": -122.14335
},
"viewport": {
"topLeftPoint": {
"lat": 47.65785,
"lon": -122.14335,
"valid": true
},
"btmRightPoint": {
"lat": 47.65784,
"lon": -122.14325,
"valid": true
}
}
},
{
"type": "Street",
"id": "US/STR/p0/12812615",
"score": 2.527509927749634,
"dist": 2870.9579016916873,
"address": {
"streetName": "Microsoft West Campus Road",
"municipalitySubdivision": "Redmond",
"municipality": "Redmond",
"countrySecondarySubdivision": "King",
"countryTertiarySubdivision": "Seattle East",
"countrySubdivision": "WA",
"countrySubdivisionName": "Washington",
"postalCode": "98052",
"countryCode": "US",
"country": "United States",
"countryCodeISO3": "USA",
"freeformAddress": "Microsoft West Campus Road, Redmond, WA 98052"
},
"position": {
"lat": 47.66034,
"lon": -122.1404
},
"viewport": {
"topLeftPoint": {
"lat": 47.66039,
"lon": -122.14325,
"valid": true
},
"btmRightPoint": {
"lat": 47.65778,
"lon": -122.13749,
"valid": true
}
}
},
{
"type": "Street",
"id": "US/STR/p0/197588",
"score": 2.4630401134490967,
"dist": 878.1404663812472,
"address": {
"streetName": "157th Avenue Northeast",
"municipalitySubdivision": "Redmond",
"municipality": "Redmond",
"countrySecondarySubdivision": "King",
"countryTertiarySubdivision": "Seattle East",
"countrySubdivision": "WA",
"countrySubdivisionName": "Washington",
"postalCode": "98052",
"extendedPostalCode": "980525344, 980525398, 980525399",
"countryCode": "US",
"country": "United States",
"countryCodeISO3": "USA",
"freeformAddress": "157th Avenue Northeast, Redmond, WA 98052"
},
"position": {
"lat": 47.64351,
"lon": -122.13056
},
"viewport": {
"topLeftPoint": {
"lat": 47.64473,
"lon": -122.13058,
"valid": true
},
"btmRightPoint": {
"lat": 47.6425,
"lon": -122.13016,
"valid": true
}
}
},
{
"type": "Street",
"id": "US/STR/p0/3033991",
"score": 2.0754499435424805,
"dist": 3655467.8844475765,
"address": {
"streetName": "Microsoft Way",
"municipalitySubdivision": "Yorkmount, Charlotte",
},
"position": {
"lat": 35.14267,
"lon": -80.91824
},
"viewport": {
"topLeftPoint": {
"lat": 35.14287,
"lon": -80.91839,
"valid": true
},
"btmRightPoint": {
"lat": 35.14267,
"lon": -80.91814,
"valid": true
}
}
},
{
"type": "Street",
"id": "US/STR/p0/8395877",
"score": 2.0754499435424805,
"dist": 3655437.0037482483,
"address": {
"streetName": "Microsoft Way",
"municipalitySubdivision": "Charlotte",
"municipality": "Charlotte",
"countrySecondarySubdivision": "Mecklenburg",
"countryTertiarySubdivision": "Township 1 Charlotte",
"countrySubdivision": "NC",
"countrySubdivisionName": "North Carolina",
"postalCode": "28273",
"extendedPostalCode": "282738105, 282738106, 282738108, 2827382, 282738200",
"countryCode": "US",
"country": "United States",
"countryCodeISO3": "USA",
"freeformAddress": "Microsoft Way, Charlotte, NC 28273"
},
"position": {
"lat": 35.14134,
"lon": -80.9198
},
"viewport": {
"topLeftPoint": {
"lat": 35.14274,
"lon": -80.92159,
"valid": true
},
"btmRightPoint": {
"lat": 35.14002,
"lon": -80.91824,
"valid": true
}
}
}
]
}
Özel karakterleri işlemek için URI kodlama
Sokaklar arası adresleri bulmak için, adreste özel karakterleri işlemek için URI'yi kodlamalısiniz. Şu adres örneğini düşünün: 1. Cadde & Union Sokağı, Seattle. Burada, isteği göndermeden önce ve karakterini ( & ) kodlarsınız.
Karakter verilerini bir URI'de kodlamanızı öneririz. Bir URI'de, karakterlerin UTF-8 koduna karşılık gelen bir yüzde işareti ( ) ve iki karakterli onaltılık bir değer kullanarak tüm karakterleri % kodlar.
Kullanım örnekleri
Şu adresle başlama:
query=1st Avenue & E 111th St, New York
Adresi kodla:
query=1st%20Avenue%20%26%20E%20111th%20St%2C%20New%20York
Aşağıdaki yöntemleri kullanabilirsiniz.
JavaScript veya TypeScript:
encodeURIComponent(query)
C# veya Visual Basic:
Uri.EscapeDataString(query)
Java:
URLEncoder.encode(query, "UTF-8")
Python:
import urllib.parse
urllib.parse.quote(query)
C++:
#include <curl/curl.h>
curl_easy_escape(query)
PHP
urlencode(query)
Söyleniş
CGI::escape(query)
SWIFT
query.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet())
Sayfasına
import ("net/url")
url.QueryEscape(query)
POı arama için en iyi uygulamalar
Bir POı aramasında, ada göre POı sonuçları isteyebilirsiniz. Örneğin, bir işi adına göre arama yapabilirsiniz.
countrySetUygulamanızın kapsama ihtiyacı olan ülkeleri/bölgeleri belirtmek için parametresini kullanmanız önemle önerilir. Varsayılan davranış, dünyanın tamamında arama yapmak için kullanılır. Bu geniş arama gereksiz sonuçlar döndürebilir ve arama uzun zaman alabilir.
Marka araması
Sonuçların ve yanıttaki bilgilerin uygunluğunu artırmak için, bir POı arama yanıtı, marka bilgilerini içerir. Yanıtı ayrıştırmak için bu bilgileri kullanabilirsiniz.
Bir istekte, virgülle ayrılmış bir marka adları listesi gönderebilirsiniz. Parametresi ayarlayarak sonuçları belirli markalara kısıtlamak için listeyi kullanın brandSet . Listenizde, öğe sırası önemi yoktur. Birden çok marka listesi sağladığınızda, döndürülen sonuçlar listelerden en az birine ait olmalıdır.
Marka aramasını araştırmak için bir POI kategorisi arama isteği oluşturalım. Aşağıdaki örnekte, Redmond, Washington 'daki Microsoft Kampüsü yakınlarında gaz istasyonlara bakacağız. Yanıt, döndürülen her bir POı için marka bilgilerini gösterir.
Örnek sorgu
https://atlas.microsoft.com/search/poi/json?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=1.0&query=gas%20station&limit=3&lat=47.6413362&lon=-122.1327968
Yanıt
{
"summary": {
"query": "gas station",
"queryType": "NON_NEAR",
"queryTime": 276,
"numResults": 3,
"offset": 0,
"totalResults": 762680,
"fuzzyLevel": 1,
"geoBias": {
"lat": 47.6413362,
"lon": -122.1327968
}
},
"results": [
{
"type": "POI",
"id": "US/POI/p0/8831765",
"score": 5.6631999015808105,
"dist": 1037.0280221303253,
"info": "search:ta:840531000004190-US",
"poi": {
"name": "Chevron",
"phone": "+(1)-(425)-6532200",
"brands": [
{
"name": "Chevron"
}
],
"categorySet": [
{
"id": 7311
}
],
"url": "www.chevron.com",
"categories": [
"petrol station"
],
"classifications": [
{
"code": "PETROL_STATION",
"names": [
{
"nameLocale": "en-US",
"name": "petrol station"
}
]
}
]
},
"address": {
"streetNumber": "2444",
"streetName": "Bel Red Rd",
"municipalitySubdivision": "Northeast Bellevue, Bellevue",
},
"position": {
"lat": 47.63201,
"lon": -122.13281
},
"viewport": {
"topLeftPoint": {
"lat": 47.63291,
"lon": -122.13414,
"valid": true
},
"btmRightPoint": {
"lat": 47.63111,
"lon": -122.13148,
"valid": true
}
},
"entryPoints": [
{
"type": "main",
"position": {
"lat": 47.63222,
"lon": -122.13312,
"valid": true
}
}
]
},
{
"type": "POI",
"id": "US/POI/p0/8831752",
"score": 5.662710189819336,
"dist": 1330.1278248163273,
"info": "search:ta:840539001100326-US",
"poi": {
"name": "76",
"phone": "+(1)-(425)-7472126",
"brands": [
{
"name": "76"
}
],
"categorySet": [
{
"id": 7311
}
],
"url": "www.76.com",
"categories": [
"petrol station"
],
"classifications": [
{
"code": "PETROL_STATION",
"names": [
{
"nameLocale": "en-US",
"name": "petrol station"
}
]
}
]
},
"address": {
"streetNumber": "2421",
"streetName": "148Th Ave Ne",
"municipalitySubdivision": "Redmond, Bridle Trails, Bellevue",
"municipality": "Redmond, Bellevue",
"countrySecondarySubdivision": "King",
"countryTertiarySubdivision": "Seattle East",
"countrySubdivision": "WA",
"countrySubdivisionName": "Washington",
"postalCode": "98007",
"countryCode": "US",
"country": "United States",
"countryCodeISO3": "USA",
"freeformAddress": "2421 148Th Ave Ne, Bellevue, WA 98007",
"localName": "Bellevue"
},
"position": {
"lat": 47.63187,
"lon": -122.14365
},
"viewport": {
"topLeftPoint": {
"lat": 47.63277,
"lon": -122.14498,
"valid": true
},
"btmRightPoint": {
"lat": 47.63097,
"lon": -122.14232,
"valid": true
}
},
"entryPoints": [
{
"type": "minor",
"position": {
"lat": 47.63187,
"lon": -122.14374,
"valid": true
}
},
{
"type": "main",
"position": {
"lat": 47.63186,
"lon": -122.14313,
"valid": true
}
}
]
},
{
"type": "POI",
"id": "US/POI/p0/8831764",
"score": 5.662449836730957,
"dist": 1458.645407416307,
"info": "search:ta:840539000488527-US",
"poi": {
"name": "BROWN BEAR CAR WASH",
"phone": "+(1)-(425)-6442868",
"brands": [
{
"name": "Texaco"
}
],
"categorySet": [
{
"id": 7311
}
],
"url": "www.texaco.com/",
"categories": [
"petrol station"
],
"classifications": [
{
"code": "PETROL_STATION",
"names": [
{
"nameLocale": "en-US",
"name": "petrol station"
}
]
}
]
},
"address": {
"streetNumber": "15248",
"streetName": "Bel Red Rd",
"municipalitySubdivision": "Redmond",
},
"position": {
"lat": 47.62843,
"lon": -122.13628
},
"viewport": {
"topLeftPoint": {
"lat": 47.62933,
"lon": -122.13761,
"valid": true
},
"btmRightPoint": {
"lat": 47.62753,
"lon": -122.13495,
"valid": true
}
},
"entryPoints": [
{
"type": "main",
"position": {
"lat": 47.62827,
"lon": -122.13628,
"valid": true
}
}
]
}
]
}
Havaalanı araması
Arama POI API 'sini kullanarak, resmi kodlarını kullanarak havaalanları arayabilirsiniz. Örneğin, Uluslararası Havaalanı Seattle-Tacoma bulmak için Sea 'yi kullanabilirsiniz:
https://atlas.microsoft.com/search/poi/json?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=1.0&query=SEA
Yakındaki arama
Belirli bir konumun etrafında POı sonuçları almak için, YAKıNDAKI API ara' yı kullanmayı deneyebilirsiniz. Uç nokta yalnızca POı sonuçları döndürüyor. Arama sorgu parametresinde almaz.
Sonuçları sınırlandırmak için, yarıçapı ayarlamanızı öneririz.
Yanıtları anlama
Azure Haritalar Arama Hizmeti adres araması isteği yaparak Seattle 'da bir adres bulalim. Aşağıdaki istek URL 'sinde, countrySet PARAMETRESINI US ABD 'deki adresi arayacak şekilde ayarlayacağız.
Örnek sorgu
https://atlas.microsoft.com/search/address/json?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=1&query=400%20Broad%20Street%2C%20Seattle%2C%20WA&countrySet=US
Desteklenen sonuç türleri
Nokta adresi: bir haritada cadde adı ve sayı olan belirli bir adrese sahip olan bir haritaya işaret eder. Nokta adresi adresler için en yüksek doğruluk düzeyini sağlar.
Adres aralığı: cadde başı ve sonundan alınan adres noktalarının aralığıdır.
Coğrafya: bir örneğin, ülke/bölge, eyalet veya şehir gibi yönetim bölümlerini temsil eden bir harita üzerindeki bölgeler.
POI: bir haritaya dikkat çekici ve ilginç olabilecek bir haritada işaret ediyor.
Cadde: haritadaki Streets. Adresler, adresi içeren sokak 'nin Enlem ve boylam koordinatları olarak çözümlenir. Ev numarası işlenmeyebilir.
Çapraz cadde: kesişmeler. Çapraz Streets, iki cadde kesişikinin kesişimlerini temsil eder.
Yanıt
Yanıt yapısına göz atalım. Aşağıdaki yanıtta, sonuç nesnelerinin türleri farklıdır. Dikkatlice bakarsanız, üç tür sonuç nesnesi görürsünüz:
- Nokta adresi
- Sokak
- Çapraz cadde
Adres aramasının POI döndürmediğine dikkat edin.
ScoreHer bir yanıt nesnesinin parametresi, eşleşen puanın aynı yanıttaki diğer nesnelerin puanlarıyla ilişkisini gösterir. Yanıt nesnesi parametreleri hakkında daha fazla bilgi için bkz. arama adresini al.
{
"summary": {
"query": "400 broad street seattle wa",
"queryType": "NON_NEAR",
"queryTime": 146,
"numResults": 6,
"offset": 0,
"totalResults": 7,
"fuzzyLevel": 1
},
"results": [
{
"type": "Point Address",
"id": "US/PAD/p0/28725082",
"score": 9.893799781799316,
"address": {
"streetNumber": "400",
"streetName": "Broad Street",
},
"position": {
"lat": 47.62039,
"lon": -122.34928
},
"viewport": {
"topLeftPoint": {
"lat": 47.62129,
"lon": -122.35061,
"valid": true
},
"btmRightPoint": {
"lat": 47.61949,
"lon": -122.34795,
"valid": true
}
},
"entryPoints": [
{
"type": "main",
"position": {
"lat": 47.61982,
"lon": -122.34886,
"valid": true
}
}
]
},
{
"type": "Street",
"id": "US/STR/p0/6700384",
"score": 8.129190444946289,
"address": {
"streetName": "Broad Street",
},
"position": {
"lat": 47.61724,
"lon": -122.35207
},
"viewport": {
"topLeftPoint": {
"lat": 47.61825,
"lon": -122.35336,
"valid": true
},
"btmRightPoint": {
"lat": 47.61626,
"lon": -122.35078,
"valid": true
}
}
},
{
"type": "Street",
"id": "US/STR/p0/9701953",
"score": 8.129190444946289,
"address": {
"streetName": "Broad Street",
},
"position": {
"lat": 47.61965,
"lon": -122.349
},
"viewport": {
"topLeftPoint": {
"lat": 47.62066,
"lon": -122.35041,
"valid": true
},
"btmRightPoint": {
"lat": 47.61857,
"lon": -122.34761,
"valid": true
}
}
},
{
"type": "Street",
"id": "US/STR/p0/11721297",
"score": 8.129190444946289,
"address": {
"streetName": "Broad Street",
"municipalitySubdivision": "Seattle, Downtown Seattle, Denny Regrade, Belltown",
"municipality": "Seattle",
"countrySecondarySubdivision": "King",
"countryTertiarySubdivision": "Seattle",
"countrySubdivision": "WA",
"countrySubdivisionName": "Washington",
"postalCode": "98121",
"extendedPostalCode": "981211237",
"countryCode": "US",
"country": "United States",
"countryCodeISO3": "USA",
"freeformAddress": "Broad Street, Seattle, WA 98121"
},
"position": {
"lat": 47.61825,
"lon": -122.35078
},
"viewport": {
"topLeftPoint": {
"lat": 47.61857,
"lon": -122.35078,
"valid": true
},
"btmRightPoint": {
"lat": 47.61825,
"lon": -122.35041,
"valid": true
}
}
},
{
"type": "Cross Street",
"id": "US/XSTR/p1/232144",
"score": 6.754479885101318,
"address": {
"streetName": "Broad Street & Valley Street",
"municipalitySubdivision": "South Lake Union, Seattle",
},
"position": {
"lat": 47.62545,
"lon": -122.33974
},
"viewport": {
"topLeftPoint": {
"lat": 47.62635,
"lon": -122.34107,
"valid": true
},
"btmRightPoint": {
"lat": 47.62455,
"lon": -122.33841,
"valid": true
}
}
}
]
}
Geometri
Bir geometri yanıt türü, dataSources ve altındaki NESNESINDE döndürülen geometri kimliğini içerebilir geometry id . Örneğin, bir GeoJSON biçiminde geometri verileri istemek için arama Çokgen hizmetini kullanabilirsiniz. Bu biçimi kullanarak bir varlık kümesi için bir şehir veya Havaalanı ana hattı edinebilirsiniz. Daha sonra bu sınır verilerini kullanarak bir bölge alanı ayarlayabilir veya geometrisi içinde POI aramasıyapabilirsiniz.
Arama adresi API 'Si veya arama belirsiz API 'si için yanıtlar, dataSources ve altındaki nesnesinde döndürülen geometri kimliğini içerebilir geometry id :
"dataSources": {
"geometry": {
"id": "00005557-4100-3c00-0000-000059690938" // The geometry ID is returned in the dataSources object under "geometry" and "id".
}
}
Sonraki adımlar
Daha fazla bilgi için lütfen bkz.