【问题标题】:Is there a way to get multiple results from PHP Geocoder for ambiguous locations as default?有没有一种方法可以从 PHP Geocoder 中获取默认位置不明确的多个结果?
【发布时间】:2015-01-05 12:10:49
【问题描述】:
我尝试搜索一个我知道应该返回多个结果的位置,即“巴黎”,结果我只得到了法国巴黎。我还尝试了一些我知道在几个地方存在的城镇、村庄,以及部分名称,但每次我只能得到一个结果,而且通常是错误的。
有没有办法获取匹配结果列表?
我正在使用 PHP Geocoder,但是这方面的 Google Geocoding API 知识也会很有用。
我用谷歌搜索了这个地狱,阅读了 PHP Geocoder 文档,阅读了谷歌文档中的 Region Biasing,但我能找到的只是如何获得区域特定的结果,而不是区域不特定或以任何方式不特定,这正是我所需要的。
【问题讨论】:
标签:
php
api
google-maps
geocoding
【解决方案1】:
来自Geocoder PHP的可爱toin0u的键盘:
"
Geocoder ~2.x 使用 ResultFactory。 DefaultResultFactory 只考虑第一个结果。如果您需要多个结果,则需要使用 setter:
// ...
Geocoder::setResultFactory(new \Geocoder\Result\MultipleResultFactory);
// ...
"
所以一个例子是:
Geocoder::setResultFactory(new \Geocoder\Result\MultipleResultFactory);
return Geocoder::geocode('Paris, France');
瞧,多个结果!
(另外,通过使用 Google Geocoder API,我得到了多个结果,没问题。)