Неправильные альтернативные атрибуты возвращают «Ключевые» значения

#here-api

#here-api

Вопрос:

Я работаю с HERE geocoder и обнаружил, что при использовании strictlanguagemode=true значения, возвращаемые в AlternativeAttributes, всегда отображают один и тот же «ключ», смешивая альтернативные имена для объектов нескольких уровней.

Например, этот запрос:

 https://geocoder.api.here.com/6.2/geocode.json?app_id=....amp;app_code=....amp;language=enamp;strictlanguagemode=trueamp;country=Spainamp;city=Palma
 

возвращает этот ответ (как вы можете видеть, все альтернативные атрибуты используют «Ключ»: «город», но в ответе смешиваются альтернативные названия штата, округа и города:

 {
  "Response": {
    "MetaInfo": {
      "Timestamp": "2019-04-16T15:50:30.385 0000"
    },
    "View": [
      {
        "_type": "SearchResultsViewType",
        "ViewId": 0,
        "Result": [
          {
            "Relevance": 1,
            "MatchLevel": "city",
            "MatchQuality": {
              "Country": 1,
              "City": 1
            },
            "Location": {
              "LocationId": "NT_It18KKa.DRNOAE.IP7p2rD",
              "LocationType": "point",
              "DisplayPosition": {
                "Latitude": 39.57149,
                "Longitude": 2.64694
              },
              "NavigationPosition": [
                {
                  "Latitude": 39.57149,
                  "Longitude": 2.64694
                }
              ],
              "MapView": {
                "TopLeft": {
                  "Latitude": 39.65717,
                  "Longitude": 2.56391
                },
                "BottomRight": {
                  "Latitude": 39.50374,
                  "Longitude": 2.84777
                }
              },
              "Address": {
                "Label": "Palma, Balearic Islands, Spain",
                "Country": "ESP",
                "State": "Balearic Is",
                "County": "Balearic Islands",
                "City": "Palma",
                "PostalCode": "07012",
                "AlternativeAttributes": [
                  {
                    "Key": "city",
                    "Value": "Illes Balears",
                    "Type": "baseName",
                    "Language": "CAT"
                  },
                  {
                    "Key": "city",
                    "Value": "Balear Uharteak",
                    "Semantics": "exonym",
                    "Language": "BAQ"
                  },
                  {
                    "Key": "city",
                    "Value": "Baleu00e1rsku00e9 Ostrovy",
                    "Semantics": "exonym",
                    "Language": "CZE"
                  },
                  {
                    "Key": "city",
                    "Value": "Balearerne",
                    "Semantics": "exonym",
                    "Language": "DAN"
                  },
                  {
                    "Key": "city",
                    "Value": "Balearen",
                    "Semantics": "exonym",
                    "Language": "DUT"
                  },
                  {
                    "Key": "city",
                    "Value": "Baleaarit",
                    "Semantics": "exonym",
                    "Language": "FIN"
                  },
                  {
                    "Key": "city",
                    "Value": "Iles Balu00e9ares",
                    "Semantics": "exonym",
                    "Language": "FRE"
                  },
                  {
                    "Key": "city",
                    "Value": "Balearische Inseln",
                    "Semantics": "exonym",
                    "Language": "GER"
                  },
                  {
                    "Key": "city",
                    "Value": "Isole Baleari",
                    "Semantics": "exonym",
                    "Language": "ITA"
                  },
                  {
                    "Key": "city",
                    "Value": "Illes Balears",
                    "Semantics": "exonym",
                    "Language": "MAY"
                  },
                  {
                    "Key": "city",
                    "Value": "Balearene",
                    "Semantics": "exonym",
                    "Language": "NOR"
                  },
                  {
                    "Key": "city",
                    "Value": "Baleary",
                    "Semantics": "exonym",
                    "Language": "POL"
                  },
                  {
                    "Key": "city",
                    "Value": "Ilhas Baleares",
                    "Semantics": "exonym",
                    "Language": "POR"
                  },
                  {
                    "Key": "city",
                    "Value": "u0411u0430u043bu0435u0430u0440u0441u043au0438u0435 u041eu0441u0442u0440u043eu0432u0430",
                    "Semantics": "exonym",
                    "Language": "RUS"
                  },
                  {
                    "Key": "city",
                    "Value": "Islas Baleares",
                    "Semantics": "exonym",
                    "Language": "SPA"
                  },
                  {
                    "Key": "city",
                    "Value": "Balearerna",
                    "Semantics": "exonym",
                    "Language": "SWE"
                  },
                  {
                    "Key": "city",
                    "Value": "Balearske Ostrovy",
                    "Semantics": "exonym",
                    "Language": "CZX"
                  },
                  {
                    "Key": "city",
                    "Value": "Baleary",
                    "Semantics": "exonym",
                    "Language": "POX"
                  },
                  {
                    "Key": "city",
                    "Value": "Balearskie Ostrova",
                    "Semantics": "exonym",
                    "Language": "RUX"
                  },
                  {
                    "Key": "city",
                    "Value": "Illes Balears",
                    "Type": "baseName",
                    "Language": "CAT"
                  },
                  {
                    "Key": "city",
                    "Value": "Balearen",
                    "Semantics": "exonym",
                    "Language": "DUT"
                  },
                  {
                    "Key": "city",
                    "Value": "Iles Balu00e9ares",
                    "Semantics": "exonym",
                    "Language": "FRE"
                  },
                  {
                    "Key": "city",
                    "Value": "Balearische Inseln",
                    "Semantics": "exonym",
                    "Language": "GER"
                  },
                  {
                    "Key": "city",
                    "Value": "Isole Baleari",
                    "Semantics": "exonym",
                    "Language": "ITA"
                  },
                  {
                    "Key": "city",
                    "Value": "Balearene",
                    "Semantics": "exonym",
                    "Language": "NOR"
                  },
                  {
                    "Key": "city",
                    "Value": "Ilhas Baleares",
                    "Semantics": "exonym",
                    "Language": "POR"
                  },
                  {
                    "Key": "city",
                    "Value": "Islas Baleares",
                    "Semantics": "exonym",
                    "Language": "SPA"
                  },
                  {
                    "Key": "city",
                    "Value": "Balearerna",
                    "Semantics": "exonym",
                    "Language": "SWE"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Type": "baseName",
                    "Language": "CAT"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma de Mallorca",
                    "Type": "baseName",
                    "Semantics": "synonym",
                    "Language": "CAT"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "BAQ"
                  },
                  {
                    "Key": "city",
                    "Value": "u5e15u5c14u9a6c",
                    "Semantics": "exonym",
                    "Language": "CHI"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "CZE"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "DAN"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "DUT"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "FIN"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "FRE"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "GER"
                  },
                  {
                    "Key": "city",
                    "Value": "u03a0u03acu03bbu03bcu03b1",
                    "Semantics": "exonym",
                    "Language": "GRE"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "ITA"
                  },
                  {
                    "Key": "city",
                    "Value": "ud314ub9c8",
                    "Semantics": "exonym",
                    "Language": "KOR"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "MAY"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "NOR"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "POL"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "POR"
                  },
                  {
                    "Key": "city",
                    "Value": "u041fu0430u043bu044cu043cu0430",
                    "Semantics": "exonym",
                    "Language": "RUS"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "SPA"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "SWE"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "CZX"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "GRX"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "KOX"
                  },
                  {
                    "Key": "city",
                    "Value": "Palma",
                    "Semantics": "exonym",
                    "Language": "POX"
                  },
                  {
                    "Key": "city",
                    "Value": "Pa Er Ma",
                    "Semantics": "exonym",
                    "Language": "PYN"
                  },
                  {
                    "Key": "city",
                    "Value": "Pal'ma",
                    "Semantics": "exonym",
                    "Language": "RUX"
                  }
                ],
                "AdditionalData": [
                  {
                    "value": "Spain",
                    "key": "CountryName"
                  },
                  {
                    "value": "Balearic Islands",
                    "key": "StateName"
                  },
                  {
                    "value": "Balearic Islands",
                    "key": "CountyName"
                  }
                ]
              }
            }
          }
        ]
      }
    ]
  }
}
 

Это ошибка в ответе AlternativeAttributes?
Как мы должны различать альтернативные названия штата, округа и города в этом случае?

Спасибо!

Комментарии:

1. Вы ищете альтернативное название города Пальма? Если да, альтернативные названия городов для Пальмы можно различать по семантике и языковому значению.

2. Например, экзоним для Palma — Balearerne на датском языке.

3. Ну, не совсем. Это экзоним для Балеарских островов, который является штатом, а не городом Пальма. В AlternativeAttributes есть экзонимы города, округа и штата, все смешанные и ссылающиеся на одно и то же значение ключа «city».

4. Да, вы правы. Он должен возвращать результаты exonym с разными ключами, которые являются городом, страной, штатом и округом, если таковые имеются. Мы проверим это. Спасибо!

5. Отлично! Спасибо!

Ответ №1:

API Geocoder теперь возвращает результаты exonym с разными ключами, которые являются городом, страной, штатом и округом, когда для параметра strictlanguagemode установлено значение true.