我一直在使用Google Maps API进行一些基于位置的搜索(对我来说更多的是结构性问题,而不是对地图API的任何批评)
例如,如果用户搜索"Victoria, Canada",它将按预期显示"Victoria, Canada"的结果。但是,如果用户搜索"Canada",google将返回该国中部的经度和纬度,这对于正确地将地图居中至关重要。然而,它不会显示任何结果,因为最近的位置离谷歌返回的位置太远了。我在过滤大约20英里以外的结果。
Google Maps API可以返回任何我可以用来判断用户是否输入了州名或国家名的东西吗?如果没有,是否有人开发了解决方案?
理想情况下,我希望避免只按最近的位置对结果排序。我不希望当用户搜索"美国"时,"西班牙"的条目出现在列表底部。我会尝试在搜索之前确定查询是州还是国家,但是考虑到国家和地区名称可能的不同拼写,这似乎是一项非常艰巨的任务。如果我只期待英语拼写,这将是一个更容易的方法。
假设这是一个站点上的表单,它有一个控制器解析表单并将请求发送到Google的API,您可以将表单分解为地址、城市、州和国家(如果需要的话)表单元素,然后将地址和城市作为必填字段。
我正在做一个类似的方法与一个网站,我正在建立使用谷歌的地方API,它似乎适合我。