首页 > 解决方案 > 此处地理编码 API 在具有多个变音符号的地址上失败

问题描述

我通过 AWS Lambda 使用 HERE geocode api 获取芬兰街道地址。在大多数情况下,我都能获得可靠的结果,但似乎地理编码仅在查询中不超过 1(一个)元音变音字符时才有效。

我使用 aws cli 调用 lambda,如下所示:

aws lambda invoke --function-name arn:aws:lambda:eu-central-1:xxxxxxxxxxxx:function:serverlessrepo-Geocode-GeocodeFunction-XXXXXXXXXXXX out --payload '{"pathParameters": {"resourcePath": "v1/geocode"},"queryStringParameters": {"q": "Pääskystie 15, Oulu"}}'

例如,以下查询返回合理的坐标:

'Pyhäjoki' 
'Töllintie 1, Oulu'

但是,如果我查询具有多个变音符号的地址,我会得到一个空的结果集。例子:

'Pyhäntä'
'Pääskystie 15, Oulu'

如果将 ä/ö 字符替换为 a/o,我也会得到一个结果,但由于从查询中删除变音符号可能会导致匹配无效,因此这似乎不是正确的解决方案。

我是否缺少 lambda 有效负载中的查询参数,还是有其他问题?

标签: here-api

解决方案


我们尝试使用多个变音符号进行复制。结果似乎很好 https://geocode.search.hereapi.com/v1/geocode?apiKey=xxxxx&q=Pyhäntä Pääskystie 15, Oulu&language=en-US&additionaldata=&maxresults=20&gen=8

{
"items": [
    {
        "title": "Pääskystie 15, FI-90650 Oulu, Suomi",
        "id": "here:af:streetsection:SSRElmH2PSCjTleaHm4wJB:CgcIBCCx07x9EAEaAjE1KGQ",
        "resultType": "houseNumber",
        "houseNumberType": "PA",
        "address": {
            "label": "Pääskystie 15, FI-90650 Oulu, Suomi",
            "countryCode": "FIN",
            "countryName": "Suomi",
            "state": "Pohjois-Suomi",
            "county": "Pohjois-Pohjanmaa",
            "city": "Oulu",
            "district": "Oulu",
            "street": "Pääskystie",
            "postalCode": "FI-90650",
            "houseNumber": "15"
        },
        "position": {
            "lat": 65.01821,
            "lng": 25.53896
        },
        "access": [
            {
                "lat": 65.01785,
                "lng": 25.53824
            }
        ],
        "mapView": {
            "west": 25.53683,
            "south": 65.01731,
            "east": 25.54109,
            "north": 65.01911
        },
        "scoring": {
            "queryScore": 0.67,
            "fieldScore": {
                "city": 1.0,
                "streets": [
                    1.0
                ],
                "houseNumber": 1.0
            }
        }
    }
]

}

如果您尝试的内容有所不同,您可以再试一次并恢复吗?


推荐阅读