javascript - 在 Bing map 中显示来自数据源 URL 的所有营业地点

标签 javascript module location maps bing-maps

对于商店定位器,假设我使用 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/

相关文章:

swift - 下划线 "_"在 Swift 中是什么意思?

node.js - Node 模块使用错误

android - 来自 LocationServices 的 getTriggeringGeofences 和 getGeofenceTransition

android - react-native-maps 获取当前位置

android - 获取当前经纬度android

javascript - React Native KeyboardAvoidingView 覆盖最后的文本输入

javascript - Max-Mn Sum JavaScript HackerRank 挑战

javascript - 如何从一年中的第x天开始获取日期?

javascript - 如何换行javascript

webview - Qt : Unknown module(s) in QT: webview