Карты Bing 7.0 Сервис Geocode Rest Функции обратного вызова не вызваны - PullRequest
0 голосов
/ 11 октября 2011

Привет, я использую 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]+"&key="+credentials; CallRestService (GeocodeRequest);

Когда адрес найден, я получаю ответ в моей функции GeocodeCallback, но для нескольких адресов я не получаю ответ. Как выяснить это состояние и ошибка.

Ответы [ 2 ]

2 голосов
/ 21 января 2012

Я понял это. В общем, вам нужно сделать две вещи.

  • Вам необходимо изменить структуру URL. Я обнаружил, что иногда, если у меня странный адрес, 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;
0 голосов
/ 31 июля 2013

Также ознакомьтесь с советами по использованию служб REST Bing Maps, перечисленными здесь: http://www.bing.com/blogs/site_blogs/b/maps/archive/2013/02/14/bing-maps-rest-service-tips-amp-tricks.aspx

...