在结账前核对地址与所填邮政编码是否一致
订单表单上邮政编码与城市不一致,看起来只是个小笔误,直到包裹被送到国内完全不同的地方。
农村覆盖打破了许多为城市构建的门店查找工具默认带有的假设。一家农机制造商拥有遍布大片农业地区的独立经销商网络,它发现一个按城市尺度调校、显示十或二十英里半径内经销商的查找工具,对相当一部分客户返回的是空结果,而这些客户为了一笔大额采购,完全可能愿意开车一小时或更久去最近的经销商。
构建适合这种现实的查找工具,和任何基于距离的查找工具一样,都从坐标开始。制造商网络中的每个经销商地址都通过 /v1/forward 一次性批量完成地理编码,因为批量请求中每个地址计为一个计费项,无论列表中有多少经销商。这样每个经销商都有了一个用于测量距离的固定坐标,而不再依赖经销商列表过去使用的“服务三县地区”之类的模糊区域描述。
真正的变化在于距离默认值。查找工具不再使用为城市调校的固定搜索半径,而是在农村搜索区域大幅扩大默认半径,并让客户通过一个控件进一步扩大范围,而不是碰上一堵“未找到经销商”的墙,错误地暗示制造商在附近根本没有网点。允许位置检测的客户会从 /v1/ip 获得起点,即由其 IP 地址解析出的大致坐标;而更愿意输入城镇名称或邮政编码的客户,其输入会以与经销商列表相同的方式进行地理编码。
制造商还把经过地理编码的经销商网络用于面向客户的查找工具之外的用途:内部覆盖分析,根据维修和保修登记地址,查看经销商之间相对于其设备实际使用地点存在哪些真正的空白。在整个经销商网络都附上坐标后进行的这项分析,为公司优先在哪里招募新经销商提供了依据,而这一决定过去依赖的是地区销售代表对哪里覆盖薄弱的非正式感觉。
这些都不需要在代码中区别对待农村和城市客户。每次搜索运行的都是同样的地理编码和距离计算。改变的是调校,即默认搜索半径以及“无结果”状态的措辞和处理方式,这些决定来自对所服务的实际地理情况的理解,而不是底层的位置技术,无论区域稠密还是稀疏,技术本身的工作方式完全相同。
地理编码请求量几乎全部集中在最初的经销商网络批量处理上,之后随着新经销商加入只有零星的少量请求,这样的工作量轻松落在制造商密钥附带的每天免费配额之内。面向客户的查找工具搜索在此基础上增加了适度的持续请求量,对于这种规模的公司也完全在免费层级之内,因为经销商查找的频率远低于诸如日常零售门店查找工具。
内置城市假设的基于距离的工具,会悄无声息地让农村用户失望,而解决办法很少是换一种技术,通常只是对同样的底层计算采用不同的默认值。该端点的文档位于 /docs/forward-geocoding/。