对于商店定位器,假设我使用 Bing 的示例数据源网址:https://spatial.virtualearth.net/REST/v1/data/515d38d4d4e348d9a61c615f59704174/CoffeeShops/CoffeeShop
在 Bing 的 example 中,用户必须搜索才能填充商店位置,如果您是星巴克并且有数千个位置,这很好,但业务要求是我们需要在 map 上显示所有 10-15 个位置整个美国。
看起来有很多模块用于搜索和查找盒子内的所有位置,或者查找指定半径内的附近位置,在视口(viewport)内聚集很多位置,但我不能我弄清楚如何从数据源 URL 简单地加载所有 Contoso Coffee 位置。
我能找到的最接近的答案是: Zoom to show all locations in bing maps 选择的答案:
var locations = CurrentItems.Select(model => model.Location);
map.SetView(LocationRect.CreateLocationRect(locations));
但是我无法让它工作。我也尝试过:
var queryOptions = {
queryUrl: dataSourceUrl,
spatialFilter: {
spatialFilterType: 'nearby',
location: location,
radius: 1000
},
};
Microsoft.Maps.SpatialDataService.QueryAPIManager.search(queryOptions, map, function (results) {
...
});
这不起作用,因为 1000 是最大半径,而我的一些位置将在其之外。
除此之外,我一直在尝试找到能够模糊地重现我正在寻找的内容的确切模块,但它们总是出现死胡同。
我确信这很简单,但我却找不到答案。谢谢! 〜安德鲁
最佳答案
如果超过 250 个(每个查询的最大结果),您可以使用边界框并使用 $top 和 $skip 参数翻阅结果,而不是进行半径搜索。理论上,如果您使用全局边界框并逐步浏览所有结果,则可以下载完整的数据源。
这是一个示例:https://bingmapsv8samples.azurewebsites.net/#Load%20all%20results%20(parallel)
以防万一您没有注意到,Contoso 咖啡数据源是一个包含虚假咖啡店列表的示例数据源。它主要用于测试/示例使用。
关于javascript - 在 Bing map 中显示来自数据源 URL 的所有营业地点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59288998/