在Bing Maps中显示数据源URL中的所有营业地点

问题描述 投票:1回答:1

对于商店定位器,假设我使用的是Bing的示例数据源URL:https://spatial.virtualearth.net/REST/v1/data/515d38d4d4e348d9a61c615f59704174/CoffeeShops/CoffeeShop

在Bing的example中,用户必须进行搜索才能填充商店的位置,如果您是星巴克的并且您有数千个位置,这很好,但是业务要求是我们必须显示所有10个位置整个美国地图上的-15个位置。

似乎有很多模块可用于搜索和查找框内的所有位置,或查找指定半径内的附近位置,将视口内的许多位置聚集在一起,但是我不能 找出如何简单地从数据源URL加载所有Contoso Coffee位置。

我能找到的最接近的答案是这样的:Zoom to show all locations in bing maps选择的答案:

var locations = CurrentItems.Select(model => model.Location);
map.SetView(LocationRect.CreateLocationRect(locations));

但是我可以not使它正常工作。我也尝试过:

var queryOptions = {
queryUrl: dataSourceUrl,
spatialFilter: {
    spatialFilterType: 'nearby',
    location: location,
    radius: 1000
},
};

Microsoft.Maps.SpatialDataService.QueryAPIManager.search(queryOptions, map, function (results) {
...
});

这不起作用,因为最大半径为1000,而我的某些位置不在此范围内。

除此之外,我一直在尝试找到可以模棱两可地复制我想要的内容的确切模块,但是它们始终以死胡同的形式出现。

我敢肯定这很简单,但是答案让我难以理解。谢谢!〜安德鲁

javascript module location maps bing-maps
1个回答
0
投票

如果使用$ top和$ skip参数有250个以上(每个查询最大结果),则可以使用边界框和页面遍历结果,而不是进行半径搜索。从理论上讲,如果您使用全局边界框并逐步浏览所有结果,则可以下载完整的数据源。

这里是一个例子:https://bingmapsv8samples.azurewebsites.net/#Load%20all%20results%20(parallel)

只要您没有注意到,Contoso咖啡数据源就是带有伪造咖啡店清单的示例数据源。它主要用于测试/示例使用。

© www.soinside.com 2019 - 2024. All rights reserved.