Compartir a través de


Migración de la API Find a Location by Query de Bing Maps

En este artículo se explica cómo migrar la API Find a Location by Query de Bing Maps a la API Get Geocoding de Azure Maps. La API Get Geocoding de Azure Maps se usa para obtener coordenadas de longitud y latitud de una dirección postal, un lugar o un punto de referencia. La API Get Geocoding de Azure Maps admite la entrada de geocodificación en un formato no estructurado o estructurado. Esta documentación de migración es para escenarios en los que la entrada de geocodificación, como la dirección postal, la localidad, el código postal o el nombre de punto de referencia, tiene un formato no estructurado (query=): similar al que admite la API Find a Location by Query de Bing Maps. Para obtener información sobre cómo migrar escenarios de Bing Maps en los que la entrada de geocodificación esté estructurada para encontrar una ubicación por dirección, consulte Migración de la API Find a Location by Address de Bing Maps.

Requisitos previos

Diferencias destacadas

  • La API Find a Location by Query de Bing Maps solo admite la entrada de geocodificación en formato no estructurado, mientras que la API Get Geocoding de Azure Maps admite la entrada de geocodificación en formato no estructurado (query=) o estructurado (addressLine=). Para los nombres de puntos de referencia de geocodificación, use la API Get Geocoding de Azure Maps mediante el formato de entrada no estructurado.
  • La API Find a Location by Query de Bing Maps devuelve coordenadas en formato de latitud/longitud, mientras que la API Get Geocoding de Azure Maps devuelve coordenadas en formato de longitud/latitud, tal y como se define en el formato GeoJSON.
  • La API Find a Location by Query de Bing Maps admite el formato de respuesta XML y JSON. La API Get Geocoding de Azure Maps admite GeoJSON.
  • A diferencia de la API Find a Location by Query de Bing Maps, la API Get Geocoding de Azure Maps tiene un parámetro de entrada view, que es una cadena que representa un código ISO 3166-1 Alpha-2 de región o país. El parámetro de entrada view modifica las etiquetas y fronteras con disputas geopolíticas para alinearse con la región de usuario especificada. Para obtener más información, consulte Parámetros de URI.
  • A diferencia de la API Find a Location by Query de Bing Maps, la API Get Geocoding de Azure Maps no admite actualmente la geocodificación de direcciones para China, Japón o Corea del Sur.
  • A diferencia de Bing Maps para Enterprise, Azure Maps es un servicio global que admite la especificación de un ámbito geográfico, lo que le permite limitar la residencia de datos a las áreas geográficas (geoáreas) de Europa (EU) o Estados Unidos (EE. UU.). Todas las solicitudes (incluidos los datos de entrada) se procesan exclusivamente en el área geográfica especificada. Para obtener más información, consulte el ámbito geográfico.

Seguridad y autenticación

Mapas de Bing para la empresa solo admite la autenticación de clave de API. Azure Maps admite varias formas de autenticar llamadas API, como una clave de suscripción, Microsoft Entra ID y token de firma de acceso compartido (SAS). Para más información sobre la seguridad y la autenticación en Azure Maps, consulte Autenticación con Azure Maps y la Sección seguridad en la documentación de obtención de geocodificación de Azure Maps.

Parámetros de solicitud

En la tabla siguiente se enumeran los parámetros de solicitud de Find a Location by Query de Bing Maps y el equivalente de Azure Maps:

Parámetro de solicitud de Bing Maps Alias del parámetro de solicitud de Bing Maps Parámetro de solicitud de Azure Maps Obligatorio en Azure Maps Tipo de datos de Azure Maps Descripción
culture c Encabezado de solicitud: Accept-Language False string Como se especifica en el encabezado de solicitud de Azure Maps, culture define el idioma usado en los resultados de búsqueda al usar la API Get Geocoding de Azure Maps. Para más información, consulte Lenguajes admitidos.
include incl No es necesario No es necesario No es necesario En la API Find a Location by Query de Bing Maps, el parámetro de entrada include es necesario para obtener un código de país ISO de dos letras para el resultado de la ubicación en la respuesta (include=ciso2) y para especificar que la respuesta muestre cómo se analizó la cadena de consulta en valores de dirección (include=queryParse). En la API Get Geocoding de Azure Maps, el código de país ISO de dos letras se devuelve de forma predeterminada y no se admite un queryParse equivalente.
includeNeighborhood inclnb No es necesario No es necesario No es necesario En la API Get Geocoding de Azure Maps, la información de vecindario se devuelve de forma predeterminada en la respuesta cuando está disponible. 
maxResults maxRes top False Entero (int32) En la API Get Geocoding de Azure Maps, el número predeterminado de respuestas devueltas es 5. El valor mínimo es 1 y el máximo 20. 
consulta q query True string
userIp uip No compatible No compatible No compatible
userLocation ul coordenadas False number[] En la API Get Geocoding de Azure Maps, las coordenadas de la tierra se especifican en formato de longitud y latitud (longitud,latitud). Al especificar este parámetro, se tiene en cuenta la ubicación del usuario y los resultados devueltos son más relevantes para el usuario.  
userMapView umv bbox False number[] Área rectangular en la tierra definida como objeto de rectángulo delimitador. Los lados de los rectángulos se definen mediante valores de longitud y latitud (longitude1,latitude1,longitude2,latitude2). Utilice la siguiente sintaxis para especificar un rectángulo delimitador.

West Longitude, South Latitude, East Longitude, North Latitude

Al especificar este parámetro, el área geográfica se tiene en cuenta al calcular los resultados de una consulta de ubicación. 
userRegion ur ver False string Cadena que representa un código de país o región ISO 3166-1 Alpha-2. Esto modifica las etiquetas y fronteras con disputas geopolíticas para alinearse con la región de usuario especificada. De forma predeterminada, el parámetro Vista se establece en Auto aunque no se defina en la solicitud.

Para obtener más información sobre las vistas disponibles, consulte Vistas admitidas.

Para obtener más información sobre los parámetros de solicitud de la API Get Geocoding de Azure Maps, consulte Parámetros de URI.

Ejemplos de solicitud

Solicitud POST de la API Find a Location by Query de Bing Maps:

http://dev.virtualearth.net/REST/v1/Locations/15127 NE 24th Street Redmond WA&key={BingMapsKey}

Solicitud POST de la API Get Geocoding de Azure Maps:

https://atlas.microsoft.com/geocode?api-version=2023-06-01&query=15127 NE 24th Street Redmond WA&subscription-key={Your-Azure-Maps-Subscription-key}

Campos de respuesta

En la tabla siguiente se enumeran los campos que pueden aparecer en la respuesta HTTP al ejecutar la solicitud de Find a Location by Query de Bing Maps y el equivalente de Azure Maps:

Campo de Bing Maps Campo de Azure Maps Descripción
address: addressLine (JSON)

Address: AddressLine (XML)
address: addressLine
address: adminDistrict (JSON)

Address: AdminDistrict (XML)
address: adminDistricts
address: adminDistrict2 (JSON)

Address: AdminDistrict2 (XML)
address: adminDistricts
address: countryRegion (JSON)

Address: CountryRegion (XML)
address: countryRegion
address: countryRegionIso2 (JSON)

Address: CountryRegionIso2 (XML)
address: countryRegion - iso
address: neighborhood (JSON)

Address: Neighborhood (XML)
address: neighborhood
address: formattedAddress (JSON)

Address: FormattedAddress (XML)
address: formattedAddress
address: locality (JSON)

Address: Locality (XML)
address: locality
address: postalCode (JSON)

Address: PostalCode (XML)
address: postalCode
address: Intersection – baseStreet (JSON)

Address: Intersection – BaseStreet (XML)
address: intersection -baseStreet
address: Intersection – secondaryStreet1 (JSON)

address: intersection - secondaryStreet1
address: Intersection – secondaryStreet2 (JSON)

Address: Intersection – SecondaryStreet2 (XML)
address: intersection - secondaryStreet2
address: Intersection – intersectionType (JSON)

Address: Intersection – IntersectionType (XML)
address: intersection - intersectionType
address: Intersection – displayName (JSON)

Address: Intersection – DisplayName (XML)
address: intersection - displayName
bbox (JSON)

BoundingBox (XML)
features: bbox En la API Find a Location by Query de Bing Maps, las coordenadas de la respuesta están en formato latitud/longitud. Las coordenadas de la respuesta de la API Get Geocoding de Azure Maps están en formato longitud/latitud (ya que se usa el formato GeoJSON).  
calculationMethod (JSON)

CalculationMethod (XML)
properties: geocodePoints - calculationMethod
confidence (JSON)

Confidence (XML)
properties: confidence
entityType (JSON)

EntityType (XML)
properties: type
geocodePoints (JSON)

GeocodePoint (XML)
properties: geocodePoints - coordinates
matchCodes (JSON)

MatchCode (XML)
properties: matchCodes
name (JSON)

Name (XML)
No compatible formattedAddress es el equivalente de Azure Maps.
point (JSON)

Point (XML)
features: coordinates En la API Find a Location by Query de Bing Maps, las coordenadas de la respuesta están en formato latitud/longitud. Las coordenadas de la respuesta de la API Get Geocoding de Azure Maps están en formato longitud/latitud (ya que se usa el formato GeoJSON).  
queryParse (JSON)

QueryParse (XML)
No compatible
usageTypes (JSON)

usageType (XML)
properties: geocodePoints: usageTypes

Para obtener más información sobre los campos de respuesta de la API Get Geocoding de Azure Maps, consulte Definiciones.

Ejemplos de respuesta

En el ejemplo JSON siguiente se muestra lo que se devuelve en el cuerpo de la respuesta HTTP al ejecutar la solicitud de Find a Location by Query de Bing Maps:

{ 
    "authenticationResultCode": "ValidCredentials", 
    "brandLogoUri": "https://dev.virtualearth.net/Branding/logo_powered_by.png", 
    "copyright": "Copyright © 2024 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.", 
    "resourceSets": [ 
        { 
            "estimatedTotal": 1, 
            "resources": [ 
                { 
                    "__type": "Location:http://schemas.microsoft.com/search/local/ws/rest/v1", 
                    "bbox": [ 
                        47.62649628242932, 
                        -122.14631082421619, 
                        47.634221717570675, 
                        -122.1310271757838 
                    ], 
                    "name": "15127 NE 24th St, Redmond, WA 98052", 
                    "point": { 
                        "type": "Point", 
                        "coordinates": [ 
                            47.630359, 
                            -122.138669 
                        ] 
                    }, 
                    "address": { 
                        "addressLine": "15127 NE 24th St", 
                        "adminDistrict": "WA", 
                        "adminDistrict2": "King County", 
                        "countryRegion": "United States", 
                        "formattedAddress": "15127 NE 24th St, Redmond, WA 98052", 
                        "locality": "Redmond", 
                        "postalCode": "98052" 
                    }, 
                    "confidence": "High", 
                    "entityType": "Address", 
                    "geocodePoints": [ 
                        { 
                            "type": "Point", 
                            "coordinates": [ 
                                47.630359, 
                                -122.138669 
                            ], 
                            "calculationMethod": "Rooftop", 
                            "usageTypes": [ 
                                "Display" 
                            ] 
                        }, 
                        { 
                            "type": "Point", 
                            "coordinates": [ 
                                47.630563, 
                                -122.1387383 
                            ], 
                            "calculationMethod": "Rooftop", 
                            "usageTypes": [ 
                                "Route" 
                            ] 
                        } 
                    ], 
                    "matchCodes": [ 
                        "Good" 
                    ] 
                } 
            ] 
        } 
    ], 
    "statusCode": 200, 
    "statusDescription": "OK", 
    "traceId": "7896468b37528ac145ef77cc62484fd6|MWH0032BE2|0.0.0.1|Ref A: 7D01B283F7644D2891600E265FB30B24 Ref B: CO1EDGE2318 Ref C: 2024-04-23T18:29:55Z" 

En el ejemplo JSON siguiente se muestra lo que se devuelve en el cuerpo de la respuesta HTTP al ejecutar la solicitud de Get Geocoding de Azure Maps:

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "geometry": {
                "type": "Point",
                "coordinates": [
                    -122.138679,
                    47.630356
                ]
            },
            "bbox": [
                -122.14632082377759,
                47.62649328242932,
                -122.1310371762224,
                47.634218717570675
            ],
            "properties": {
                "type": "Address",
                "confidence": "High",
                "matchCodes": [
                    "Good"
                ],
                "geocodePoints": [
                    {
                        "calculationMethod": "Rooftop",
                        "usageTypes": [
                            "Display"
                        ],
                        "geometry": {
                            "type": "Point",
                            "coordinates": [
                                -122.138679,
                                47.630356
                            ]
                        }
                    },
                    {
                        "calculationMethod": "Rooftop",
                        "usageTypes": [
                            "Route"
                        ],
                        "geometry": {
                            "type": "Point",
                            "coordinates": [
                                -122.138685,
                                47.6305637
                            ]
                        }
                    }
                ],
                "address": {
                    "addressLine": "15127 NE 24th St",
                    "postalCode": "98052",
                    "locality": "Redmond",
                    "formattedAddress": "15127 NE 24th St, Redmond, WA 98052",
                    "countryRegion": {
                        "name": "United States",
                        "ISO": "US"
                    },
                    "adminDistricts": [
                        {
                            "shortName": "WA"
                        },
                        {
                            "shortName": "King County"
                        }
                    ]
                }
            }
        }
    ]
}

Uso de transacciones

Al igual que la API Find a Location by Query de Bing Maps, la API Get Geocoding de Azure Maps registra una transacción facturable por solicitud. Para más información sobre las transacciones de Azure Maps, vea Descripción de las transacciones de Azure Maps.

Información adicional

  • Get Geocoding Batch: se usa para enviar un lote de consultas a la API Get Geocoding en una única solicitud sincrónica.

Soporte técnico