geocoder-php / geocoder-php/Geocoder

[OpenCage] configure guessing order

未关闭
#1,111 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
PHP
星标
4k
派生
525
平均合并
8 分钟
30 天内合并 PR
1

描述

It would be great, if the guessing order could be configured instead of being hard coded.

For example for this result in Germany: '53757, Sankt Augustin, Grantham Allee 20, Deutschland' the returned components are:

"components": {
        "ISO_3166-1_alpha-2": "DE",
        "ISO_3166-1_alpha-3": "DEU",
        "_category": "commerce",
        "_type": "shop",
        "city": "Rhein-Sieg-Kreis",
        "continent": "Europe",
        "country": "Deutschland",
        "country_code": "de",
        "county": "Rhein-Sieg-Kreis",
        "house_number": "20",
        "political_union": "European Union",
        "postcode": "53757",
        "road": "Grantham-Allee",
        "shop": "Druckpunkt",
        "state": "Nordrhein-Westfalen",
        "state_code": "NW",
        "suburb": "Mülldorf",
        "town": "Sankt Augustin"
      }

Due to the current locality order 'Rhein-Sieg-Kreis' will be returned as city, but 'Sankt Augustin' would be correct. In comparison to the formatted field of the OpenCage-result "Druckpunkt, Grantham-Allee 20, 53757 Sankt Augustin, Deutschland" where the city is set properly.

https://github.com/OpenCageData/address-formatting/blob/master/conf/countries/worldwide.yaml

shows different orders depending for different countries.

In my opinion a simple solution could be to make the $localityKeys array public and static.

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先,将 conf/countries/worldwide.yaml 中的地点顺序与使用 $localityKeys 数组的代码进行比较。在不丢失国家特定行为的情况下,使猜测顺序可配置,并验证示例将 Sankt Augustin 而不是 Rhein-Sieg-Kreis 解析为城市。

由索引模型根据 Issue 内容生成。

评估

技术栈
php
领域
backend
Issue 类型
功能
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。