Я использую данные местоположения загрузки QueryAPIManager от Bing Maps всякий раз, когда пользователь загружает карту.
Результаты загружаются в интерфейс по порядку записи в базе данных (в алфавитном порядке), а не по расстоянию, которое не ' т удобный. Как получить результаты для сортировки в порядке расстояния от центра карты или указанной точки?
Вот что у меня есть:
function getLocationsOnChangeView() {
//Create a query to get data that intersects the bounds of the map.
var queryOptions = {
queryUrl: dataSourceUrl,
top: 250,
spatialFilter: {
spatialFilterType: 'intersects',
intersects: map.getBounds()
},
};
Microsoft.Maps.SpatialDataService.QueryAPIManager.search(queryOptions, map, function (data) {
for (var i = 0; i < data.length; i++) {
data[i].setOptions({
icon: 'images/pin-black.png',
text: (i + 1) + '',
});
}
//Add results to the map.
pushpinLayer.add(data);
});
}
Я также пытался использовать фильтр «поблизости» :
var queryOptions = {
queryUrl: dataSourceUrl,
top: 250,
spatialFilter: {
spatialFilterType: 'intersects',
location: map.getCenter()
radius: 500
},
};
, но это по-прежнему не сортирует по расстоянию.
Это нужно сделать в Javascript, или модуль Bing может это сделать?