ESRI Silverlight Map Tile不会在某个级别绘制

时间:2013-01-23 22:41:35

标签: .net silverlight esri

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

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

某个区域(位于保护区路的加利福尼亚州McKittrick的3英里处)在某个缩放级别变为灰色(13)。如果我放大或缩小,直到水平变为12或14,那么地图的部分就会被绘制好。灰色矩形(这是一个瓦片吗?)只是地图的一部分,否则在我看过的每个级别都可以。我也滚动了一下,并没有在另一个位置看到这种异常现象,虽然在这个缩放级别滚动是很乏味的,并且我正在处理的图形数量也很多。

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

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

任何线索?

1 个答案:

答案 0 :(得分:1)

我不确定为什么你会得到一个灰色的瓷砖 - 这可能有很多原因,但瓷砖数据确实存在,所以它可能不是你所看到的无数据瓷砖。 但是我必须说21层超出了一个地图中建议的层数(将很多层混合到客户端非常昂贵),如果你在应用程序中达到一些内存限制,我也不会感到惊讶。在GPU上。在顶部添加2600个图形,即使它本身也接近推动它,并且这不是不可能的。事实上,你不能用更少的层重现这一点,这是一个很好的迹象表明这就是发生的事情。但是我之前没有听过这个问题,但是我再也没有听过有人把这么多层放在一起,并且首先得到一些可用的东西: - )

我建议您将所有图层合并为一个或几个服务,而不是在客户端有多个不同的图层。使用服务器的功能,它是为从头开始渲染地图而构建的,而不是重载客户端和它的网络连接(XAML是为构建应用而不是从头开始构建的,所以像地图这样的东西往往会突破XAML的极限可以处理,更不用说你将有很多数据可以在所有这些层下载。)

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

/ Morten - Lead Dev。 @ Silverlight ArcGIS API