Partilhar via


Práticas recomendadas para o serviço de Pesquisa do Azure Maps

O serviço de Pesquisa do Azure Maps inclui uma API que oferece várias capacidades para ajudar os programadores a pesquisar endereços, locais, fichas de empresas por nome ou categoria e outras informações geográficas. Por exemplo, o Search Fuzzy permite que os usuários pesquisem um endereço ou Ponto de Interesse (POI).

Este artigo explica como aplicar práticas sólidas quando você chama dados do serviço Azure Maps Search. Saberá como:

  • Crie consultas para retornar correspondências relevantes
  • Limitar os resultados da pesquisa
  • Conheça as diferenças entre os tipos de resultados
  • Leia a estrutura de pesquisa-resposta de endereço

Pré-requisitos

Você pode usar qualquer ambiente de desenvolvimento de API, como Postman ou bruno , para executar os exemplos de solicitação HTTP mostrados neste artigo ou para criar chamadas REST.

Práticas recomendadas para geocodificar endereços

Quando você pesquisa um endereço completo ou parcial usando o serviço de Pesquisa do Azure Maps, a API lê palavras-chave da sua consulta de pesquisa. Em seguida, ele retorna as coordenadas de longitude e latitude do endereço. Este processo é chamado de geocodificação.

A capacidade de geocodificar num país/região depende da disponibilidade de dados rodoviários e da precisão do serviço de geocodificação. Para obter mais informações sobre os recursos de geocodificação do Azure Maps por país ou região, consulte Cobertura de geocodificação.

Limitar os resultados da pesquisa

A API de Pesquisa do Azure Maps pode ajudá-lo a limitar os resultados da pesquisa adequadamente. Você limita os resultados para que possa exibir dados relevantes para seus usuários.

Nota

As APIs de pesquisa suportam mais parâmetros do que apenas aqueles que este artigo aborda.

Resultados de pesquisa geoenviesados

Para geobias resultados para a área relevante para o seu usuário, sempre adicione tantos detalhes de localização quanto possível. Talvez você queira restringir os resultados da pesquisa especificando alguns tipos de entrada:

  • Defina o countrySet parâmetro. Você pode defini-lo como US,FR, por exemplo. Por padrão, a API pesquisa o mundo inteiro, para que possa retornar resultados desnecessários. Se a sua consulta não tiver nenhum countrySet parâmetro, a pesquisa poderá retornar resultados imprecisos. Por exemplo, uma pesquisa por uma cidade chamada Bellevue retorna resultados dos EUA e da França porque ambos os países/regiões contêm uma cidade chamada Bellevue.

  • Você pode usar os btmRight parâmetros e topleft para definir a caixa delimitadora. Esses parâmetros restringem a pesquisa a uma área específica no mapa.

  • Para influenciar a área de relevância para os resultados, defina os lat parâmetros e lon coordene. Use o radius parâmetro para definir o raio da área de pesquisa.

Parâmetros de pesquisa difusos

Recomendamos que você use o Search Fuzzy quando não souber as entradas do usuário para uma consulta de pesquisa. Por exemplo, a entrada do usuário pode ser um endereço ou o tipo de Ponto de Interesse (POI), como shopping center. A API combina pesquisa POI e geocodificação em uma pesquisa canônica de linha única:

  • Os minFuzzyLevel parâmetros e maxFuzzyLevel ajudam a retornar correspondências relevantes, mesmo quando os parâmetros de consulta não correspondem exatamente às informações desejadas pelo usuário. Para maximizar o desempenho e reduzir resultados incomuns, defina as consultas de pesquisa como padrões de minFuzzyLevel=1 e maxFuzzyLevel=2.

    Por exemplo, quando o maxFuzzyLevel parâmetro é definido como 2, o termo de pesquisa restrant é correspondido a restaurante. Você pode substituir os níveis difusos padrão quando precisar.

  • Use o idxSet parâmetro para priorizar o conjunto exato de tipos de resultados. Para priorizar um conjunto exato de resultados, você pode enviar uma lista de índices separados por vírgula. Na sua lista, a ordem dos itens não importa. O Azure Maps dá suporte aos seguintes índices:

  • Addr - Intervalos de endereços: pontos de endereço interpolados do início e do fim da rua. Esses pontos são representados como intervalos de endereços.

  • Geo - Geografias: Divisões administrativas de terras. Uma geografia pode ser um país/região, estado ou cidade, por exemplo.

  • PAD - Endereços de pontos: endereços que incluem um nome e um número de rua. Os endereços de pontos podem ser encontrados em um índice. Um exemplo é Soquel Dr 2501. Um endereço de ponto fornece o mais alto nível de precisão disponível para endereços.

  • POI - Pontos de interesse: Pontos em um mapa que são considerados dignos de atenção ou que podem ser interessantes. O endereço de pesquisa não retorna POIs.

  • Str - Ruas: Ruas no mapa.

  • XStr - Ruas transversais ou cruzamentos: Cruzamentos ou locais onde duas ruas se cruzam.

Exemplos de utilização

  • idxSet=POI - Pesquise apenas POIs.

  • idxSet=PAD,Addr - Pesquise apenas endereços. PAD indica o endereço do ponto e Addr indica o intervalo de endereços.

Inverter geocodificação e filtro para um tipo de entidade geográfica

Quando você faz uma pesquisa de geocódigo reverso usando Search Address Reverse, o serviço pode retornar polígonos para áreas administrativas. Por exemplo, você pode querer buscar o polígono de área para uma cidade. Para restringir a pesquisa a tipos específicos de entidades geográficas, inclua o entityType parâmetro em suas solicitações.

A resposta resultante contém o ID geográfico e o tipo de entidade que foi correspondido. Se você fornecer mais de uma entidade, o ponto de extremidade retornará a menor entidade disponível. Você pode usar a ID de geometria retornada para obter a geometria da geografia por meio do serviço Polígono de Pesquisa.

Pedido de amostra

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"
        }
    ]
}

Definir o idioma dos resultados

Use o language parâmetro para definir o idioma dos resultados de pesquisa retornados. Se a solicitação não definir o idioma, por padrão, o serviço de Pesquisa usará o idioma mais comum no país ou região. Quando nenhum dado está disponível no idioma especificado, o idioma padrão é usado.

Para obter mais informações, consulte Idiomas suportados do Azure Maps.

Usar o modo preditivo (sugestões automáticas)

Para encontrar mais correspondências para consultas parciais, defina o typeahead parâmetro como true. Esta consulta é interpretada como uma entrada parcial e a pesquisa entra no modo preditivo. Se você não definir o typeahead parâmetro como true, o serviço assumirá que todas as informações relevantes foram passadas.

Na consulta de exemplo a seguir, o serviço Endereço de Pesquisa é consultado para Microso. Aqui, o typeahead parâmetro definido como true. A resposta mostra que o serviço de pesquisa interpretou a consulta como uma consulta parcial. A resposta contém resultados para uma consulta sugerida automaticamente.

Consulta de exemplo

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
                }
            }
        }
    ]
}

Codifique um URI para manipular caracteres especiais

Para encontrar endereços cruzados, você deve codificar o URI para manipular caracteres especiais no endereço. Considere este exemplo de endereço: 1st Avenue & Union Street, Seattle. Aqui, codifice o caractere comercial (&) antes de enviar a solicitação.

Recomendamos que você codifique dados de caracteres em um URI. Em um URI, você codifica todos os caracteres usando um sinal de porcentagem (%) e um valor hexadecimal de dois caracteres que corresponde ao código UTF-8 dos caracteres.

Exemplos de utilização

Comece com este endereço:

query=1st Avenue & E 111th St, New York

Codifique o endereço:

query=1st%20Avenue%20%26%20E%20111th%20St%2C%20New%20York

Pode utilizar os seguintes métodos.

JavaScript ou TypeScript:

encodeURIComponent(query)

C# ou 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) 

Rápido:

query.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet()) 

Vai:

import ("net/url") 
url.QueryEscape(query)

Práticas recomendadas para pesquisa de POI

Em uma pesquisa de POI, você pode solicitar resultados de POI pelo nome. Por exemplo, você pode pesquisar uma empresa pelo nome.

É altamente recomendável que você use o countrySet parâmetro para especificar países/regiões onde seu aplicativo precisa de cobertura. O comportamento padrão é pesquisar o mundo inteiro. Essa pesquisa ampla pode retornar resultados desnecessários e a pesquisa pode levar muito tempo.

Para melhorar a relevância dos resultados e das informações na resposta, uma resposta de pesquisa POI inclui informações da marca. Você pode usar essas informações para analisar melhor a resposta.

Em uma solicitação, você pode enviar uma lista separada por vírgulas de nomes de marcas. Use a lista para restringir os resultados a marcas específicas definindo o brandSet parâmetro. Na sua lista, a ordem dos itens não importa. Quando você fornece várias listas de marcas, os resultados retornados devem pertencer a pelo menos uma de suas listas.

Para explorar a pesquisa de marca, vamos fazer uma solicitação de pesquisa de categoria POI. No exemplo a seguir, procuramos postos de gasolina perto do campus da Microsoft em Redmond, Washington. A resposta mostra as informações da marca para cada POI que foi retornado.

Consulta de exemplo

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
                    }
                }
            ]
        }
    ]
}

Usando a API Search POI, você pode procurar aeroportos usando seu código oficial. Por exemplo, você pode usar o SEA para encontrar o Aeroporto Internacional de Seattle-Tacoma:

https://atlas.microsoft.com/search/poi/json?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=1.0&query=SEA 

Para recuperar resultados de POI em um local específico, você pode tentar usar a Pesquisa nas proximidades. O ponto de extremidade retorna apenas resultados de POI. Ele não aceita um parâmetro de consulta de pesquisa.

Para limitar os resultados, recomendamos que defina o raio.

Compreender as respostas

Vamos encontrar um endereço em Seattle fazendo uma solicitação de pesquisa de endereço para o serviço de Pesquisa do Azure Maps. No URL de solicitação a seguir, definimos o countrySet parâmetro para US procurar o endereço nos EUA.

Consulta de exemplo

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

Tipos de resultados suportados

  • Endereço do ponto: pontos em um mapa que têm um endereço específico com um nome e número de rua. Point Address fornece o mais alto nível de precisão para endereços.

  • Intervalo de endereços: o intervalo de pontos de endereço que são interpolados do início e do fim da rua.

  • Geografia: Áreas em um mapa que representam divisões administrativas de uma terra, por exemplo, país/região, estado ou cidade.

  • POI: Pontos num mapa que merecem atenção e que podem ser interessantes.

  • Rua: Ruas no mapa. Os endereços são resolvidos para as coordenadas de latitude e longitude da rua que contém o endereço. O número da casa pode não ser processado.

  • Rua Transversal: Interseções. As ruas transversais representam cruzamentos onde duas ruas se cruzam.

Response

Vejamos a estrutura de resposta. Na resposta a seguir, os tipos dos objetos de resultado são diferentes. Se você olhar com cuidado, verá três tipos de objetos de resultado:

  • Endereço do ponto
  • Rua
  • Rua Cross

Observe que a pesquisa de endereço não retorna POIs.

O Score parâmetro para cada objeto de resposta indica como a pontuação correspondente se relaciona com as pontuações de outros objetos na mesma resposta. Para obter mais informações sobre parâmetros de objeto de resposta, consulte Obter endereço de pesquisa.

{
    "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

Um tipo de resposta de Geometria pode incluir a ID de geometria retornada no dataSources objeto em geometry e id. Por exemplo, você pode usar o serviço Pesquisar Polígono para solicitar os dados de geometria em um formato GeoJSON. Usando este formato, você pode obter um esboço de cidade ou aeroporto para um conjunto de entidades. Em seguida, você pode usar esses dados de limite para configurar uma cerca geográfica ou Pesquisar POIs dentro da geometria.

As respostas para o Endereço de Pesquisa ou para o Fuzzy de Pesquisa podem incluir o ID de geometria retornado no dataSources objeto em geometry e id:

"dataSources": { 
        "geometry": { 
            "id": "00005557-4100-3c00-0000-000059690938" // The geometry ID is returned in the dataSources object under "geometry" and "id".
        }
} 

Próximos passos

Para saber mais, consulte: