ESRI Silverlight 地图磁贴不会在特定级别绘制



我怀疑这太具体了,无法在这里用问题来解决,但我希望至少得到一些分析提示:

我正在使用 ESRI。ArcGIS.Client(适用于 Silverlight),特别是 ArcGISTiledMapServiceLayer,以及 http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer 的地图。

有一个特定区域(位于 Reserve Rd 的加利福尼亚州麦基特里克 3 英里处)在某个缩放级别 (13) 变为灰色。 如果我放大或缩小直到级别变为 12 或 14,则地图的部分将绘制为正常。 灰色矩形(这是一个瓷砖吗?)只是地图的一部分,在我看过的每个级别上都是可以的。 我也滚动了一下,在另一个位置没有看到这种异常,尽管在这个缩放级别滚动很乏味,并且图形与我正在处理的图形一样多。

我的应用程序有 21 层,总共有近 2600 个图形,这可能与问题有关。 它发生在我的应用程序中的两个不同页面中(相同的地图参考但不同的 ESRI。Map 对象),但在只有几个图层和图形的简单示例应用程序中不会发生,使用相同的 Map。

我通常将地图加载一次作为第一个图层并保留它,但我也强制它重新加载;问题仍然存在。 最后,这不是随机的。 它每次都是可重复的。

有什么线索吗?

我不确定为什么你会得到一个灰色的瓷砖 - 这可能是很多原因,但瓷砖数据似乎确实在那里,所以它可能不是你看到的无数据瓷砖。但是,我必须说 21 个图层远远超出了一张地图中建议的图层数量(将这么多图层混合在一起客户端非常昂贵),如果您在应用程序或 GPU 中遇到一些内存限制,我不会感到惊讶。在上面添加 2600 个图形,即使它本身也接近推动它,这不太可能是原因。您无法用更少的层重现这一事实很好地表明这就是发生的事情。但是,我以前从未听说过这个问题,但是话又说回来,我以前没有听到有人将这么多层放在一起并从中获取可用的东西:-)

我建议您将所有层合并到一个或几个服务中,而不是在客户端拥有那么多不同的层。使用服务器的功能,该功能是为从头开始呈现地图而构建的,而不是使客户端及其网络连接过载(XAML 是为从头开始构建应用而不是地图而构建的,因此地图之类的东西通常会突破 XAML 可以处理的极限,更不用说你将有大量数据要跨所有这些层下载)。

顺便说一句,您可能最好使用 ArcGIS 论坛。这些每天都由 API 开发人员和支持人员巡逻 - 我今天偶然发现了这个问题。

/Morten - 首席开发人员 @ Silverlight ArcGIS API

最新更新