是否有一种方法可以根据matchLevel限制结果? 因此,如果我们使用地理编码搜索城市,则可以使用:
matchLevel : 'city'
仅以此获得结果?
当前,当发送带有查询的请求(例如“伦敦”)时,我们会得到有关地区,县,城市的各种结果。我看不出将这些结果限制在城市范围内的方法。仅使用resultType=areas
是不够的。对于当前的解决方法,我们在响应后过滤结果以仅显示具有matchLevel=city
的结果,但是我们增加了maxresults
以进行过滤。也许有一些我们可以使用的beta /隐藏参数?
答案 0 :(得分:1)
因为不可能直接在API中进行操作,所以唯一的解决方案实际上是过滤结果。对于任何有需要的人,这就是我所使用的。您可以根据需要进行调整。
request.onload = function () {
if (request.status >= 200 && request.status < 400) {
// Success!
var data = JSON.parse(request.responseText);
var list = [];
var total = 0;
for (var i = 0; i < data.suggestions.length; i++) {
if (data.suggestions[i].matchLevel == "city" && list.indexOf(data.suggestions[i].address.city + ', ' + data.suggestions[i].address.country) < 0) {
list.push(data.suggestions[i].address.city + ', ' + data.suggestions[i].address.country);
}
}
}
};