Najlepsze rozwiązania dotyczące usługi Azure Maps usługa wyszukiwania
Usługa Azure Maps usługa wyszukiwania zawiera interfejs API, który oferuje różne możliwości ułatwiające deweloperom wyszukiwanie adresów, miejsc, list biznesowych według nazwy lub kategorii oraz innych informacji geograficznych. Na przykład funkcja wyszukiwania rozmytego umożliwia użytkownikom wyszukiwanie adresu lub punktu orientacyjnego (POI).
W tym artykule wyjaśniono, jak zastosować praktyki dźwiękowe podczas wywoływania danych z usługi Azure Maps usługa wyszukiwania. Dowiesz się, jak:
- Tworzenie zapytań w celu zwrócenia odpowiednich dopasowań
- Ogranicz wyniki wyszukiwania
- Poznaj różnice między typami wyników
- Odczytywanie struktury odpowiedzi wyszukiwania adresów
Wymagania wstępne
Możesz użyć dowolnego środowiska programistycznego interfejsu API, takiego jak Postman lub bruno , aby uruchomić przykłady żądań HTTP pokazane w tym artykule lub utworzyć wywołania REST.
Najlepsze rozwiązania dotyczące adresów geokodów
Podczas wyszukiwania pełnego lub częściowego adresu przy użyciu usługi Azure Maps usługa wyszukiwania interfejs API odczytuje słowa kluczowe z zapytania wyszukiwania. Następnie zwraca współrzędne geograficzne i współrzędne geograficzne adresu. Ten proces jest nazywany geokodowaniem.
Możliwość geokodowania w kraju/regionie zależy od dostępności danych drogowych i dokładności usługi geokodowania. Aby uzyskać więcej informacji na temat możliwości geokodowania usługi Azure Maps według kraju lub regionu, zobacz Pokrycie geokodowaniem.
Ogranicz wyniki wyszukiwania
Interfejs API wyszukiwania w usłudze Azure Maps może pomóc w odpowiednim ograniczeniu wyników wyszukiwania. Ograniczasz wyniki, dzięki czemu możesz wyświetlać odpowiednie dane użytkownikom.
Uwaga
Interfejsy API wyszukiwania obsługują więcej parametrów niż tylko te, które omówiono w tym artykule.
Wyniki wyszukiwania z stronami geograficznymi
Aby uzyskać wyniki geobiazy do odpowiedniego obszaru dla użytkownika, zawsze dodaj jak najwięcej szczegółów lokalizacji. Możesz ograniczyć wyniki wyszukiwania, określając niektóre typy danych wejściowych:
countrySet
Ustaw parametr . Można go ustawić naUS,FR
wartość , na przykład. Domyślnie interfejs API wyszukuje cały świat, aby mógł zwracać niepotrzebne wyniki. Jeśli zapytanie niecountrySet
ma parametru, wyszukiwanie może zwracać niedokładne wyniki. Na przykład wyszukiwanie miasta o nazwie Bellevue zwraca wyniki z USA i Francji, ponieważ oba kraje/regiony zawierają miasto o nazwie Bellevue.Możesz użyć parametrów
btmRight
itopleft
, aby ustawić pole ograniczenia. Te parametry ograniczają wyszukiwanie do określonego obszaru na mapie.Aby wpłynąć na obszar istotności wyników, zdefiniuj
lat
parametry ilon
współrzędnych. Użyj parametru ,radius
aby ustawić promień obszaru wyszukiwania.
Parametry wyszukiwania rozmytego
Zalecamy użycie funkcji Wyszukiwania rozmyte , gdy nie znasz danych wejściowych użytkownika dla zapytania wyszukiwania. Na przykład dane wejściowe od użytkownika mogą być adresem lub typem punktu orientacyjnego (POI), na przykład centrum handlowego. Interfejs API łączy wyszukiwanie interfejsu WIERSZA i geokodowanie w kanoniczne wyszukiwanie jednowierszowe:
Parametry
minFuzzyLevel
imaxFuzzyLevel
pomagają zwracać odpowiednie dopasowania, nawet jeśli parametry zapytania nie są dokładnie zgodne z informacjami, których chce użytkownik. Aby zmaksymalizować wydajność i zmniejszyć nietypowe wyniki, ustaw zapytania wyszukiwania na wartości domyślne iminFuzzyLevel=1
maxFuzzyLevel=2
.Na przykład gdy
maxFuzzyLevel
parametr ma wartość 2, termin wyszukiwania jest dopasowywany do restauracji. W razie potrzeby można zastąpić domyślne poziomy rozmyte.Użyj parametru ,
idxSet
aby określić priorytety dokładnego zestawu typów wyników. Aby określić dokładny zestaw wyników, możesz przesłać rozdzielaną przecinkami listę indeksów. Na liście kolejność elementów nie ma znaczenia. Usługa Azure Maps obsługuje następujące indeksy:Addr
- Zakresy adresów: punkty adresów interpolowane od początku i końca ulicy. Te punkty są reprezentowane jako zakresy adresów.Geo
- Obszary geograficzne: Podziały administracyjne gruntów. Lokalizacja geograficzna może być na przykład krajem/regionem, stanem lub miastem.PAD
- Adresy punktów: adresy zawierające nazwę ulicy i numer. Adresy punktów można znaleźć w indeksie. Przykładem jest Soquel Dr 2501. Adres punktu zapewnia najwyższy poziom dokładności dostępnych dla adresów.POI
- Punkty orientacyjne: punkty na mapie, które są uważane za warte uwagi lub które mogą być interesujące. Adres wyszukiwania nie zwraca interfejsów POI.Str
- Ulice: Ulice na mapie.XStr
- Skrzyżowania lub skrzyżowania: skrzyżowania lub miejsca, w których przecinają się dwie ulice.
Przykłady użycia
idxSet=POI
— Wyszukaj tylko interfejsy POI.idxSet=PAD,Addr
— Tylko adresy wyszukiwania.PAD
wskazuje adres punktu iAddr
wskazuje zakres adresów.
Odwrotne geokodowanie i filtrowanie dla typu jednostki geografii
Podczas wyszukiwania odwrotnego kodu geograficznego przy użyciu odwrotnego adresu wyszukiwania usługa może zwracać wielokąty dla obszarów administracyjnych. Na przykład możesz pobrać wielokąt obszaru dla miasta. Aby zawęzić wyszukiwanie do określonych typów jednostek geograficznych, uwzględnij entityType
parametr w żądaniach.
Wynikowa odpowiedź zawiera identyfikator geografii i typ jednostki, który został dopasowany. Jeśli podasz więcej niż jedną jednostkę, punkt końcowy zwróci najmniejszą dostępną jednostkę. Możesz użyć zwróconego identyfikatora geometrii, aby uzyskać geometrię geografii za pośrednictwem usługi Wielokąta wyszukiwania.
Przykładowe żądanie
https://atlas.microsoft.com/search/address/reverse/json?api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&query=47.6394532,-122.1304551&language=en-US&entityType=Municipality
Response
{
"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"
}
]
}
Ustawianie języka wyników
Użyj parametru language
, aby ustawić język dla zwróconych wyników wyszukiwania. Jeśli żądanie nie ustawi języka, domyślnie usługa wyszukiwania używa najczęściej używanego języka w kraju lub regionie. Jeśli w określonym języku nie są dostępne żadne dane, używany jest język domyślny.
Aby uzyskać więcej informacji, zobacz Obsługiwane języki usługi Azure Maps.
Korzystanie z trybu predykcyjnego (sugestie automatyczne)
Aby znaleźć więcej dopasowań dla zapytań częściowych, ustaw typeahead
parametr na true
wartość . To zapytanie jest interpretowane jako dane wejściowe częściowe, a wyszukiwanie przechodzi w tryb predykcyjny. Jeśli nie ustawisz parametru typeahead
na true
, usługa zakłada, że wszystkie istotne informacje zostały przekazane.
W poniższym przykładowym zapytaniu usługa adresu wyszukiwania jest odpytywane dla mikroso. typeahead
W tym miejscu parametr jest ustawiony na true
wartość . Odpowiedź pokazuje, że usługa wyszukiwania zinterpretowała zapytanie jako zapytanie częściowe. Odpowiedź zawiera wyniki automatycznie sugerowanego zapytania.
Przykładowe zapytanie
https://atlas.microsoft.com/search/address/json?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=1.0&typeahead=true&countrySet=US&lat=47.6370891183&lon=-122.123736172&query=Microsoft
Response
{
"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
}
}
}
]
}
Kodowanie identyfikatora URI do obsługi znaków specjalnych
Aby znaleźć adresy krzyżowe, należy zakodować identyfikator URI, aby obsługiwać znaki specjalne w adresie. Rozważmy ten przykład adresu: 1st Avenue & Union Street, Seattle. W tym miejscu zakoduj znak ampersand (&
) przed wysłaniem żądania.
Zalecamy kodowanie danych znaków w identyfikatorze URI. W identyfikatorze URI kodujesz wszystkie znaki przy użyciu znaku procentowego (%
) i dwuznakowej wartości szesnastkowej odpowiadającej kodowi UTF-8 znaków.
Przykłady użycia
Zacznij od tego adresu:
query=1st Avenue & E 111th St, New York
Zakoduj adres:
query=1st%20Avenue%20%26%20E%20111th%20St%2C%20New%20York
Możesz użyć następujących metod:
JavaScript lub TypeScript:
encodeURIComponent(query)
C# lub 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)
Ruby:
CGI::escape(query)
Szybki:
query.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet())
Iść:
import ("net/url")
url.QueryEscape(query)
Najlepsze rozwiązania dotyczące wyszukiwania poi
W wyszukiwaniu poi można żądać wyników poI według nazwy. Możesz na przykład wyszukać firmę według nazwy.
Zdecydowanie zalecamy użycie parametru countrySet
w celu określenia krajów/regionów, w których aplikacja wymaga pokrycia. Domyślne zachowanie polega na przeszukiwaniu całego świata. To szerokie wyszukiwanie może zwracać niepotrzebne wyniki, a wyszukiwanie może zająć dużo czasu.
Wyszukiwanie marki
Aby poprawić znaczenie wyników i informacji w odpowiedzi, odpowiedź wyszukiwania poi zawiera informacje o marce. Możesz użyć tych informacji, aby dokładniej przeanalizować odpowiedź.
W żądaniu można przesłać rozdzielaną przecinkami listę nazw marek. Użyj listy, aby ograniczyć wyniki do określonych marek, ustawiając brandSet
parametr . Na liście kolejność elementów nie ma znaczenia. Po podaniu wielu list markowych zwracane wyniki muszą należeć do co najmniej jednej z list.
Aby zapoznać się z wyszukiwaniem marki, utwórzmy żądanie wyszukiwania kategorii POI. W poniższym przykładzie szukamy stacji benzynowych w pobliżu kampusu firmy Microsoft w Redmond w stanie Waszyngton. Odpowiedź zawiera informacje o marce dla każdego zwróconego interfejsu POI.
Przykładowe zapytanie
https://atlas.microsoft.com/search/poi/json?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=1.0&query=gas%20station&limit=3&lat=47.6413362&lon=-122.1327968
Response
{
"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
}
}
]
}
]
}
Wyszukiwanie na lotnisku
Korzystając z interfejsu API wyszukiwania poi, można wyszukiwać lotniska przy użyciu ich oficjalnego kodu. Na przykład możesz użyć protokołu SEA , aby znaleźć międzynarodowe lotnisko Seattle-Tacoma:
https://atlas.microsoft.com/search/poi/json?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=1.0&query=SEA
Wyszukiwanie w pobliżu
Aby pobrać wyniki poi wokół określonej lokalizacji, możesz spróbować użyć funkcji Wyszukaj w pobliżu. Punkt końcowy zwraca tylko wyniki poi. Nie bierze parametru zapytania wyszukiwania.
Aby ograniczyć wyniki, zalecamy ustawienie promienia.
Informacje o odpowiedziach
Znajdźmy adres w Seattle, wysyłając żądanie wyszukiwania adresów do usługi Azure Maps usługa wyszukiwania. W poniższym adresie URL żądania ustawiliśmy countrySet
parametr na US
wartość , aby wyszukać adres w Stanach Zjednoczonych.
Przykładowe zapytanie
https://atlas.microsoft.com/search/address/json?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=1&query=400%20Broad%20Street%2C%20Seattle%2C%20WA&countrySet=US
Obsługiwane typy wyników
Adres punktu: punkty na mapie, które mają określony adres z nazwą ulicy i numerem. Punkt adresowy zapewnia najwyższy poziom dokładności adresów.
Zakres adresów: zakres punktów adresowych interpolowanych od początku i końca ulicy.
Geografia: Obszary na mapie reprezentujące podziały administracyjne ziemi, na przykład kraj/region, stan lub miasto.
PoI: Punkty na mapie, które są warte uwagi i które mogą być interesujące.
Ulica: Ulice na mapie. Adresy są rozpoznawane ze współrzędnymi szerokości i długości geograficznej ulicy, która zawiera adres. Numer domu może nie zostać przetworzony.
Cross Street: Skrzyżowania. Skrzyżowania ulic reprezentują skrzyżowania, na których przecinają się dwie ulice.
Response
Przyjrzyjmy się strukturze odpowiedzi. W poniższej odpowiedzi typy obiektów wynikowych są różne. Jeśli przyjrzysz się uważnie, zobaczysz trzy typy obiektów wyników:
- Adres punktu
- Ulica
- Cross Street
Zwróć uwagę, że wyszukiwanie adresów nie zwraca interfejsów POI.
Parametr Score
dla każdego obiektu odpowiedzi wskazuje, w jaki sposób pasujący wynik odnosi się do wyników innych obiektów w tej samej odpowiedzi. Aby uzyskać więcej informacji na temat parametrów obiektu odpowiedzi, zobacz Get Search Address (Uzyskiwanie adresu wyszukiwania).
{
"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
}
}
}
]
}
Geometria
Typ odpowiedzi Geometry może zawierać identyfikator geometrii zwrócony w dataSources
obiekcie w obszarze geometry
i id
. Na przykład możesz użyć usługi Wielokąta wyszukiwania, aby zażądać danych geometrycznych w formacie GeoJSON. Korzystając z tego formatu, możesz uzyskać konspekt miasta lub lotniska dla zestawu jednostek. Następnie możesz użyć tych danych granic do skonfigurowania geofencingu lub wyszukiwania interfejsów POI wewnątrz geometrii.
Odpowiedzi na adres wyszukiwania lub rozmyte wyszukiwanie mogą zawierać identyfikator geometrii zwrócony w dataSources
obiekcie w obszarze geometry
i id
:
"dataSources": {
"geometry": {
"id": "00005557-4100-3c00-0000-000059690938" // The geometry ID is returned in the dataSources object under "geometry" and "id".
}
}
Następne kroki
Aby dowiedzieć się więcej, zobacz: