Procedure consigliate per il servizio di ricerca di Mappe di Azure
Il servizio di ricerca Mappe di Azure include un'API che offre diverse funzionalità per aiutare gli sviluppatori nell'ambito della ricerca di indirizzi, località, punti di interesse, elenchi di aziende per nome o categoria e altre informazioni geografiche. Ad esempio, la ricerca fuzzy consente agli utenti di cercare un indirizzo o un punto di interesse.
Questo articolo descrive come applicare procedure efficaci quando si chiamano dati dal servizio di ricerca di Mappe di Azure. Si apprenderà come:
- Creare query per restituire corrispondenze rilevanti
- Limitare i risultati della ricerca
- Identificare le differenze tra i tipi di risultati
- Interpretare la struttura di ricerca e risposta degli indirizzi
Prerequisiti
È possibile usare qualsiasi ambiente di sviluppo api, ad esempio Postman o bruno , per eseguire gli esempi di richiesta HTTP illustrati in questo articolo o per compilare chiamate REST.
Procedure consigliate per la codifica geografica degli indirizzi
Quando si cerca un indirizzo completo o parziale usando il servizio di ricerca di Mappe di Azure, l'API legge le parole chiave dalla query di ricerca. Restituisce quindi le coordinate di longitudine e latitudine dell'indirizzo. Questo processo è noto come geocodifica.
La capacità di implementare la geocodifica in un paese o un'area dipende dalla disponibilità di dati stradali e dalla precisione del servizio di geocodifica. Per altre informazioni sulle funzionalità di geocodifica di Mappe di Azure per paese o area, vedere Copertura della geocodifica.
Limitare i risultati della ricerca
L'API di ricerca di Mappe di Azure può aiutare a limitare i risultati della ricerca in modo appropriato. È possibile limitare i risultati in modo da visualizzare i dati pertinenti per gli utenti.
Nota
Le API di ricerca supportano più parametri rispetto a quelli presentati in questo articolo.
Risultati della ricerca limitati geograficamente
Per limitare geograficamente i risultati in base all'area pertinente per l'utente, aggiungere sempre il maggior numero possibile di dettagli sulla località. Può essere utile limitare i risultati della ricerca specificando alcuni tipi di input:
Impostare il parametro
countrySet
. Ad esempio, è possibile impostarlo suUS,FR
. Per impostazione predefinita, l'API cerca in tutto il mondo e può quindi restituire risultati non necessari. Se la query non include un parametrocountrySet
, la ricerca può restituire risultati non accurati. Ad esempio, la ricerca di una città denominata Bellevue restituisce risultati dagli Stati Uniti e dalla Francia, perché in entrambi i paesi esiste una città con questo nome.È possibile usare i parametri
btmRight
etopleft
per impostare il riquadro delimitatore. Questi parametri limitano la ricerca a un'area specifica sulla mappa.Per influire sull'area di pertinenza per i risultati, definire i parametri delle coordinate
lat
elon
. Usare il parametroradius
per impostare il raggio dell'area di ricerca.
Parametri di ricerca fuzzy
È consigliabile usare l'API di ricerca fuzzy quando non si conoscono gli input utente per una query di ricerca. Ad esempio, l'input dell'utente può essere un indirizzo o un tipo di punto di interesse, come centro commerciale. L'API combina la ricerca di punti di interesse e la geocodifica in una normale ricerca a riga singola:
I parametri
minFuzzyLevel
emaxFuzzyLevel
consentono di restituire corrispondenze pertinenti anche quando i parametri di query non corrispondono esattamente alle informazioni cercate dall'utente. Per ottimizzare le prestazioni e ridurre i risultati insoliti, impostare le query di ricerca sui valori predefinitiminFuzzyLevel=1
emaxFuzzyLevel=2
.Ad esempio, quando il parametro
maxFuzzyLevel
è impostato su 2, il termine di ricerca ristrant viene associato al termine ristorante. È possibile sostituire i livelli fuzzy predefiniti, se necessario.Usare il parametro
idxSet
per classificare in ordine di priorità il set esatto di tipi di risultati. Per classificare in ordine di priorità un set esatto di risultati, è possibile inviare un elenco di indici delimitati da virgole. Nell'elenco l'ordine degli elementi non è rilevante. Mappe di Azure supporta gli indici seguenti:Addr
- Intervallo indirizzo: punti di indirizzo interpolati dall'inizio e dalla fine della strada. Questi punti sono rappresentati come intervalli di indirizzi.Geo
- Aree geografiche: divisioni amministrative del territorio. Un'area geografica può essere, ad esempio, un paese, uno stato o una città.PAD
- Indirizzi punto: indirizzi che includono un nome e un numero di via. Gli indirizzi di punti si trovano in un indice. Un esempio è Via Roma 18. Un indirizzo di punti fornisce il livello maggiore di accuratezza disponibile per gli indirizzi.POI
- Punti di interesse: punti su una mappa considerati meritevoli di attenzione o che possono essere interessanti. La ricerca di indirizzi non restituisce punti di interesse.Str
- Strade: strade sulla mappa.XStr
- Incroci o intersezioni: punti di congiunzione o luoghi in cui si intersecano due strade.
Esempi di utilizzo
idxSet=POI
: ricerca solo di punti di interessi.idxSet=PAD,Addr
: ricerca solo di indirizzi.PAD
indica l'indirizzo del punto eAddr
indica l'intervallo di indirizzi.
Geocodifica inversa e filtro per un tipo di entità geografia
Quando si esegue una ricerca di geocodifica inversa nella ricerca inversa di indirizzi, il servizio può restituire poligoni per le aree amministrative. Ad esempio, si potrebbe voler recuperare il poligono dell'area di una città. Per limitare la ricerca a specifici tipi di entità geografia, includere il parametro entityType
nelle richieste.
La risposta risultante contiene l'ID area geografica e il tipo di entità di cui è stata trovata una corrispondenza. Se si specifica più di un'entità, l'endpoint restituisce l'entità più piccola disponibile. È possibile usare l'ID geometria restituito per ottenere la geometria dell'area geografica tramite il servizio di ricerca di poligoni.
Esempio di richiesta
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"
}
]
}
Impostare la lingua dei risultati
Usare il parametro language
per impostare la lingua per i risultati della ricerca restituiti. Se la richiesta non imposta la lingua, per impostazione predefinita il servizio di ricerca usa la lingua più comune del paese o dell'area geografica. Quando non sono disponibili dati nella lingua specificata, viene usata la lingua predefinita.
Per altre informazioni, vedere Lingue supportate da Mappe di Azure.
Usare la modalità predittiva (suggerimenti automatici)
Per trovare più corrispondenze per le query parziali, impostare il parametro typeahead
su true
. Questa query viene interpretata come input parziale e la ricerca entra in modalità predittiva. Se non si imposta il parametro typeahead
su true
, il servizio presuppone che siano state passate tutte le informazioni pertinenti.
Nella query di esempio seguente viene eseguita una query sul servizio di ricerca di indirizzi per Microso. Qui il parametro typeahead
è impostato su true
. La risposta mostra che il servizio di ricerca ha interpretato la query come parziale. La risposta contiene i risultati per una query suggerita automaticamente.
Query di esempio
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
}
}
}
]
}
Codificare un URI per gestire i caratteri speciali
Per trovare indirizzi di incroci, è necessario codificare l'URI in modo da gestire i caratteri speciali nell'indirizzo. Considerare questo indirizzo di esempio: 1st Avenue & Union Street, Seattle. In questo caso, codificare il carattere di e commerciale (&
) prima di inviare la richiesta.
È consigliabile codificare i dati di tipo carattere in un URI. In un URI è necessario codificare tutti i caratteri usando un simbolo di percentuale (%
) e un valore esadecimale a due caratteri corrispondente al codice UTF-8 dei caratteri.
Esempi di utilizzo
Per iniziare, osservare questo indirizzo:
query=1st Avenue & E 111th St, New York
Codificare l'indirizzo:
query=1st%20Avenue%20%26%20E%20111th%20St%2C%20New%20York
È possibile usare i metodi seguenti.
JavaScript o TypeScript:
encodeURIComponent(query)
C# o 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)
Swift:
query.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet())
Go:
import ("net/url")
url.QueryEscape(query)
Procedure consigliate per la ricerca di punti di interesse
In una ricerca di punti di interesse è possibile richiedere risultati costituiti da punti di interesse per nome. Ad esempio, è possibile cercare un'azienda per nome.
È assolutamente consigliabile usare il parametro countrySet
per specificare paesi o aree in cui l'applicazione richiede copertura. Il comportamento predefinito consiste nel cercare in tutto il mondo. Questa ricerca più ampia può restituire risultati non necessari e richiedere molto tempo.
Ricerca di marchi
Per migliorare la pertinenza dei risultati e delle informazioni nella risposta, una risposta a una ricerca di punti di interesse include informazioni sul marchio. È possibile usare queste informazioni per analizzare ulteriormente la risposta.
In una richiesta è possibile inviare un elenco di nomi di marchi separati da virgole. Usare l'elenco per limitare i risultati a marchi specifici impostando il parametro brandSet
. Nell'elenco l'ordine degli elementi non è importante. Quando si forniscono più elenchi di marchi, i risultati restituiti devono appartenere ad almeno uno degli elenchi.
Per esplorare la ricerca di marchi, viene creata qui una richiesta di ricerca di una categoria di punti di interessi. Nell'esempio seguente vengono cercate le stazioni di rifornimento vicino al campus Microsoft a Redmond, Washington. La risposta mostra informazioni sul marchio per ogni punto di interesse restituito.
Query di esempio
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
}
}
]
}
]
}
Ricerca di aeroporti
Usando l'API di ricerca di punti di interesse, è possibile cercare aeroporti usando il rispettivo codice ufficiale. Ad esempio, è possibile usare SEA per trovare l'aeroporto internazionale di Seattle-Tacoma:
https://atlas.microsoft.com/search/poi/json?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=1.0&query=SEA
Ricerca nelle vicinanze
Per recuperare i risultati dei punti di interesse in una località specifica, è possibile provare a usare la ricerca nelle vicinanze. L'endpoint restituisce solo risultati di punti di interesse. Non accetta un parametro di query di ricerca.
Per limitare i risultati, è consigliabile impostare il raggio.
Informazioni sulle risposte
Si supponga di voler trovare un indirizzo a Seattle inviando una richiesta di ricerca di indirizzi al servizio di ricerca di Mappe di Azure. Nell'URL della richiesta seguente si imposta il parametro countrySet
su US
per cercare l'indirizzo negli Stati Uniti.
Query di esempio
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
Tipi di risultati supportati
Indirizzo punto: punti su una mappa che hanno un indirizzo specifico con un nome e un numero di strada. Un indirizzo di punti fornisce il livello maggiore di accuratezza per gli indirizzi.
Intervallo indirizzo: intervallo di punti di indirizzo interpolati dall'inizio e dalla fine della strada.
Aree geografiche: aree su una mappa che rappresentano le divisioni amministrative di un territorio, ad esempio paese/area geografica, stato o città.
Punto di interesse: punti su una mappa considerati meritevoli di attenzione o che possono essere interessanti.
Strada: strade sulla mappa. Gli indirizzi vengono risolti in base alle coordinate di latitudine e longitudine della strada che contiene l'indirizzo. Il numero civico può non essere elaborato.
Incroci stradali: intersezioni. Gli incroci rappresentano i punti di congiunzione in cui si intersecano due strade.
Response
Viene ora esaminata la struttura della risposta. Nella risposta seguente i tipi degli oggetti risultato sono diversi. Se si osserva con attenzione, si noteranno tre tipi di oggetti risultato:
- Punto di interesse
- Via
- Incrocio
Si noti che la ricerca di indirizzi non restituisce punti di interesse.
Il parametro Score
per ogni oggetto risposta indica la correlazione tra il punteggio corrispondente e i punteggi di altri oggetti nella stessa risposta. Per altre informazioni sui parametri degli oggetti risposta, vedere Get Search Address.
{
"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
Una risposta di tipo geometria può includere l'ID geometria restituito nell'oggetto dataSources
in geometry
e id
. Ad esempio, è possibile usare il servizio di ricerca di poligoni per richiedere i dati geometrici in un formato GeoJSON. Usando questo formato, è possibile ottenere una struttura di città o aeroporto per un set di entità. È quindi possibile usare questi dati limite per configurare un recinto virtuale o cercare punti di interesse all'interno della geometria.
Le risposte per la ricerca di indirizzi o la ricerca fuzzy possono includere l'ID geometria restituito nell'oggetto dataSources
in geometry
e id
:
"dataSources": {
"geometry": {
"id": "00005557-4100-3c00-0000-000059690938" // The geometry ID is returned in the dataSources object under "geometry" and "id".
}
}
Passaggi successivi
Per altre informazioni, vedere: