2013-01-23 34 views
0

畫我懷疑這是過於特殊,在這裏一個問題來解決,但我希望能得到一些分析提示,至少:ESRI Silverlight的地圖圖塊並不一定幅度

我使用ESRI。 ArcGIS.Client(用於Silverlight),特別是ArcGISTiledMapServiceLayer和地圖http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer

某個區域(加利福尼亞州McKittrick,位於Reserve Rd的S.E.)在特定的縮放級別(13)處變灰。如果我放大或縮小,直到等級變爲12或14,那麼地圖的一部分將被繪製成OK。灰色的矩形(這是一個瓷磚?)只是地圖的一部分,在我看過的每個層次上都是OK的。我也滾動了一下,並沒有在另一個位置看到這種異常現象,儘管在這個縮放級別下以及我處理的儘可能多的圖形都是非常乏味的。

我的應用程序有21層,總共有近2600個圖形,這可能與問題有關。它發生在我的應用程序的兩個不同的頁面(相同的地圖引用,但不同的ESRI.Map對象),但不會發生在一個簡單的示例應用程序,只有幾個圖層和圖形,使用相同的地圖。

我通常加載地圖一次作爲第一層並保留它,但我也強迫它重新加載;問題依然存在。最後,這不是隨機的。它每次都是可重複的。

任何線索?

回答

1

我不確定你爲什麼會弄到一塊灰色的瓷磚 - 可能有很多原因,但瓷磚數據似乎在那裏,所以它可能不是你看到的無數據瓷磚。 但是我必須說,21層的方式遠遠超出了一張地圖中建議的圖層數量(將許多客戶端融合在一起非常昂貴),如果您在應用程序中遇到一些內存限制,我不會感到驚訝或在GPU上。在頂部添加2600個圖形,即使它本身已經接近推動它,並且這不是不可能的原因。事實上,你不能用較少的圖層重現這一點很好地表明這是發生了什麼。然而,我從未聽說過這個問題,但之前我還沒有聽說過任何人把這麼多層放在一起,並得到了一些可用的東西:-)

我會推薦你​​,而不是將所有圖層合併爲一個或幾個服務,而不是將多個不同的圖層合併到客戶端。使用服務器的功能是爲了從頭開始渲染地圖而不是過載客戶端和它的網絡連接(XAML是爲了構建應用程序而不是從頭開始創建地圖而設計的,所以像地圖這樣的東西通常會推動XAML的限制可以處理,更不用說你會有很多數據在所有這些層下載)。

Btw。您最好使用ArcGIS論壇。那些由API開發人員和支持人員每天巡視 - 我偶然偶然偶然發現了這個問題。

/Morten - Lead Dev。 @ Silverlight ArcGIS API

+0

我感謝您的意見;我在這方面並不擅長(例如,我將不得不通過將我的圖層合併到服務中來了解您的意思),但是我對您對圖層和圖形數量的看法感到有些驚訝。在同一個應用程序中,我有時在一個Map中有超過260個圖層和超過35,000個圖形;它不是很快,正如你可以想象的那樣,但它確實有效,它仍然只有那一層沒有顯示的一塊瓷磚。我確實搜索了ArcGIS論壇,但我沒有在那裏留下我的問題。也許我會嘗試,接下來。 –

+0

260?!?哇,談論信息超載:-)。那麼你是說你有多達260 條目,或者你只有一個連接到一個260層的地圖服務? (後者將被合併) – dotMorten

+0

沒有開玩笑! :)我沒有任何我可以控制的地圖服務。我只是在消費上面提到的arcgisonline提供的免費軟件。這些圖層都是單獨的ESRI.ArcGIS.Client.GraphicsLayer條目(TiledLayer除外),根據需要在Silverlight應用程序中實例化並添加到Map中。圖層單獨和集合中的「可見性」視情況開啓和關閉,以提供地圖上項目的延時視圖,大致類似於Weather.com中的Weather In Motion功能。 (我希望我們很快就會開始進行對話!) –