Получите код ISO 3166-2 из API локаций Bing Maps

Есть ли способ получить код ISO 3166-2 для определенной комбинации Почтовый индекс / Страна-код с помощью API Bing Maps Locations?

По примеру: 1210/AT => AT-9

1 ответ

Используйте API для определения местоположения Bing Maps REST и геокодируйте свой запрос (почтовый, страновой...). В рамках запроса добавить &incl=ciso2 который вернет кодовое значение ISO2 страны. Например:

https://dev.virtualearth.net/REST/v1/Locations?q=1210%2C%20AT&incl=ciso2&key=YOUR_Bing_Maps_Key

Вернет следующее:

{
"authenticationResultCode": "ValidCredentials",
"brandLogoUri": "http:\/\/dev.virtualearth.net\/Branding\/logo_powered_by.png",
"copyright": "Copyright © 2017 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": [48.237850189209, 16.3536491394043, 48.3225288391113, 16.4731197357178],
        "name": "1210, Austria",
        "point": {
            "type": "Point",
            "coordinates": [48.2801895141602, 16.4104042053223]
        },
        "address": {
            "adminDistrict": "Vienna",
            "adminDistrict2": "Vienna",
            "countryRegion": "Austria",
            "formattedAddress": "1210, Austria",
            "locality": "Vienna",
            "postalCode": "1210",
            "countryRegionIso2": "AT"
        },
        "confidence": "High",
        "entityType": "Postcode1",
        "geocodePoints": [{
            "type": "Point",
            "coordinates": [48.2801895141602, 16.4104042053223],
            "calculationMethod": "Rooftop",
            "usageTypes": ["Display"]
        }],
        "matchCodes": ["Good"]
    }]
}],
"statusCode": 200,
"statusDescription": "OK",
"traceId": "cb93431f2caa4f9fb2fcdbaa0ae80b74|CO30324109|7.7.0.0|"
}

Обратите внимание, что в свойстве address ответа есть "countryRegionIso2": "AT"

Документацию по API REST Locaiton для Bing Maps можно найти здесь: https://msdn.microsoft.com/en-US/library/ff701711.aspx

Здесь есть руководство по передовому опыту: https://msdn.microsoft.com/en-us/library/dn894107.aspx

Если вы используете.NET, вы можете использовать BEST Maps REST.NET Toolkit: https://github.com/Microsoft/BingMapsRESTToolkit Это действительно упрощает использование сервисов REST в.NET, а также имеет пакет NuGet для простого включения в вашем проекте.

Другие вопросы по тегам