我正在做一个需要使用免费谷歌地理编码API的项目。我需要使用Geocoding查询的结果来验证查询本身,并确保所有字段都是正确的。
我一直在尝试查看是否有一个选项并行于Bing api maxResults参数,但在文档中似乎找不到任何东西。maxResults参数限制返回的地址数,从而使作业所需的时间大大减少。
以下是必应API文档,其中包含有关maxResults参数的信息。(ctrl+f):https://msdn.microsoft.com/en-us/library/ff701714.aspx
谷歌地理编码API的概述可以在这里找到:https://developers.google.com/maps/documentation/geocoding/intro。
发布于 2018-05-18 03:50:37
您的文章非常混乱,因为您将其标记为google-maps-api-3,这在技术上是为Google API v3提供的,但您提供的文档是为Web服务地理编码API提供的。
但是要回答您的问题,现在还没有这个特性,也没有限制最大结果的工作。
限制Javascript地理编码服务返回的结果也是不可用的,但是您可以限制在客户端(前端)上显示的结果的数量。您可以简单地通过,而不是循环每一个结果,并将循环限制在您想要的数字上。
下面是我执行for-loop的示例代码的一部分,并设置变量len (用于长度)。
var s_markers = [];
var map;
function initialize() {
var currentarea = { lat: 14.5393988, lng: 121.0521586};
map = new google.maps.Map(document.getElementById('map'), {
zoom: 2,
center: {lat:0,lng:0},
disableDefaultUI: true
});
var address = 'google maps'; // just used google maps since it returns multiple results
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address },function(results, status) {
// var len = results.length;
var len = 2; //declare here the number of wanted result
for (var x=0; x<len; x++){
var pos = results[x].geometry.location;
map.panTo(pos);
var s_mark = new google.maps.Marker({
position: pos,
title: results[x].formatted_address,
map: map
});
s_markers.push(s_mark);
}
});
}最初,我在这里使用var len = results.length作为标记显示所有结果。但是要限制显示的结果,可以将其设置为var len = 2或var len = 1。这里的原始返回数是3。
您可以在这里看到完整的代码:http://jsbin.com/nagadis/edit?html,js,output
但是,如果您希望在这个特性中限制结果的数量,那么最好的方法是在中以Google问题跟踪器格式提交一个特性请求。
希望这能帮上忙!
https://stackoverflow.com/questions/50396591
复制相似问题