大多数地理编码服务都可以处理仅包含行政区域名称的查询,这正是您需要的,例如市镇和地区。因此,我建议您选择一个还可以处理批量请求的服务,例如Bing Spatial Data API(这里有一篇关于使用它进行批量地理编码的文章),并且选择适合您的服务。
如果你的预算有限且需要处理大量数据,另一种可行的方法是下载Geonames数据库并编写一些代码将其导入到你的数据库或索引中;然后可以随意查询它,例如,如果你将地点放在另一个表中,你可以使用SELECT [...] FROM my_places LEFT JOIN geonames [...]
。我曾经将Geonames数据库导入到一个普通的PostgreSQL中,并且可能仍然在我的git存储库中保存了代码,如果你想尝试这种方法,请在评论中提出(我会找到并附上)。