Bing maps 7.0 Geocode Rest服务未调用回调函数

时间:2011-10-11 06:24:17

标签: bing

您好我正在使用bing maps 7.0 ajax api来显示地图。我有几个地址,我使用javascript中的休息服务进行地理编码以获得经度和纬度。我在地理编码请求中设置了GeocodeCallback方法。

geocodeRequest =“http://dev.virtualearth.net/REST/v1/Locations?"+mapDataAddress[1]+"&output=json&jsonp=GeocodeCallback&jsonso="+mapDataAddress[0]+” &安培;关键=“+凭证;  CallRestService(geocodeRequest);

当找到地址时,我在GeocodeCallback函数中得到一个响应但是对于很少的地址,我没有得到响应。如何弄清楚这种状态和错误。

2 个答案:

答案 0 :(得分:2)

我想出来了。所以基本上你需要做两件事。

  • 您需要更改网址结构。我发现有时如果我有奇怪的地址,bing会返回400。
  • 使用suppressStatus参数并将其设置为true。我现在找不到文档,但基本上我发现如果bing返回400,404等,它实际上不会调用callBack函数。所以supressstatus说无论如何,总是返回200。

原则上你有:

http://dev.virtualearth.net/REST/v1/Locations?"+mapDataAddress[1]+"&output=json&jsonp=GeocodeCallback&jsonso="+mapDataAddress[0]+"&key="+credentials;

所以你想这样做:

http://dev.virtualearth.net/REST/v1/Locations?addressLine="+mapDataAddress[1]+"&output=json&jsonp=GeocodeCallback&suppressStatus=true&jsonso="+mapDataAddress[0]+"&key="+credentials;

答案 1 :(得分:0)

另请参阅此处列出的使用Bing Maps REST服务的提示和技巧:http://www.bing.com/blogs/site_blogs/b/maps/archive/2013/02/14/bing-maps-rest-service-tips-amp-tricks.aspx