我们有一个显示地图数据的程序(想想谷歌地图,但为我们的客户提供了更多的交互性和自定义图层)。
我们允许通过一组组合框进行导航,这些组合框用一堆数据预填充某些字段(即:国家:加拿大,填写省字段。选择安大略省,并填写县/地区列表。选择县/地区,一个城市被填写,等等......)。
虽然这保证了准确的地址,但如果用户不知道街道地址或城市的位置(即,厨房在哪个县/地区?),他们会很痛苦。
因此,我们正在考虑尝试使用自由格式的文本字段进行地址解析器。
用户可以输入类似这样的内容(类似于谷歌地图、必应地图等):22 Main St, Kitchener, On
我们可以将其划分为多个部分并查找数据并找到他们正在寻找的点(或建议替代方案)。
问题在于我们如何正确划分信息?我们如何分解这些部分并找到可能的匹配项?我猜我们不能保证用户会以我们一直期望的格式输入数据(显然)。如果我们没有找到完全匹配(或找到多个完全匹配......例如,在不同县具有相同街道名称的两个城市),对此的跟进将是如何呈现数据。
我们在地图数据(主要是 mapinfo 选项卡格式)中有大量可用数据。所以我们可以快速扫描街道名称、城市、州等。但我不确定解决这个问题的最佳方法。当然,使用谷歌地图会很好,但是我们的大多数客户都处于封闭的网络中,通常不允许外部访问,并且大多数人不愿意依赖谷歌地图(因为它不包含他们需要的那么多信息,例如自定义地图图层)。显然,他们可以去谷歌找到正确的位置,然后转移到我们的软件,但这会很耗时,而且过程的速度可能非常重要。