首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Geocode限制结果

使用Geocode限制结果
EN

Stack Overflow用户
提问于 2018-05-17 16:42:17
回答 1查看 1.2K关注 0票数 0

我正在做一个需要使用免费谷歌地理编码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

EN

回答 1

Stack Overflow用户

发布于 2018-05-18 03:50:37

您的文章非常混乱,因为您将其标记为google-maps-api-3,这在技术上是为Google API v3提供的,但您提供的文档是为Web服务地理编码API提供的。

但是要回答您的问题,现在还没有这个特性,也没有限制最大结果的工作。

限制Javascript地理编码服务返回的结果也是不可用的,但是您可以限制在客户端(前端)上显示的结果的数量。您可以简单地通过,而不是循环每一个结果,并将循环限制在您想要的数字上。

下面是我执行for-loop的示例代码的一部分,并设置变量len (用于长度)。

代码语言:javascript
复制
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 = 2var len = 1。这里的原始返回数是3

您可以在这里看到完整的代码:http://jsbin.com/nagadis/edit?html,js,output

但是,如果您希望在这个特性中限制结果的数量,那么最好的方法是在中以Google问题跟踪器格式提交一个特性请求

希望这能帮上忙!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50396591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档