您的帖子很混乱,因为您将其标记为google-maps-api-3,这在技术上是针对Google Maps Javascript API v3,但您提供的文档是针对Web Services Geocoder API。
但要回答您的问题,目前此功能不适用于 Web 服务地理编码器 API,并且无法限制最大结果。
限制 Javascript API 地理编码服务 的返回结果也不可用,但有一种解决方法可以限制您将在 客户端显示的结果数量(前端)。您可以通过不循环遍历每个结果并将循环限制为您想要的数字来做到这一点。
这是示例代码的一部分,我在其中执行了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 Issue tracker
中提交功能请求
希望这有帮助!