2013-06-05 38 views
5

Eşleme programımdaki katmanları temizledim ve yeni bir katman eklemeye çalıştığımda bu hata iletisini alıyorum. Bu yüzden herkes bilirEşleme hatalarını haritalamaya eklemek için hata veriyor

newSystem.ArgumentException was unhandled by user code 
HResult=-2147024809 
Message=Value does not fall within the expected range. 
Source=System.Windows 
InnerException: 

ben çok

private void loadZoomLevel12Pics() 
    { 
     map1.Layers.Clear(); 
     MapLayer pinLayer = new MapLayer(); 
     // Create a new empty Pushpin 
     // Beny Sur- Mer War Cemetary 
     MapOverlay pinOverlay = new MapOverlay(); 
     // Add the location of the Pushpin using latitude and longitude. 
     pinOverlay.GeoCoordinate = new GeoCoordinate(49.33783000, -0.45215600); 
     //Image pinOverlayImage = new Image(); 
     pinOverlayImage.Source = new BitmapImage(new Uri("images/Hedgehog.png", UriKind.Relative)); 
     pinOverlay.Content = pinOverlayImage; 
     pinOverlay.PositionOrigin = new Point(0.0, 0.0); 
     pinOverlayImage.Opacity = 0.8; 
     pinOverlayImage.Height = 8; 
     pinOverlayImage.Width = 8; 
     pinOverlayImage.Tap += pinOverlayImage_Tap; 
     pinLayer.Add(pinOverlay); 
     map1.Layers.Add(pinLayer); 

Sonra bu resimler silinir ve yeni bir yakınlaştırma düzeyi görüntülerin tamamı

private void loadZoomLevel13Pics() 
    { 
     map1.Layers.Clear(); 
     MapLayer pinLayer = new MapLayer(); 
     // Create a new empty Pushpin 
     // Beny Sur- Mer War Cemetary 
     MapOverlay pinOverlay = new MapOverlay(); 
     // Add the location of the Pushpin using latitude and longitude. 
     pinOverlay.GeoCoordinate = new GeoCoordinate(49.33783000, -0.45215600); 
     //Image pinOverlayImage = new Image(); 
     pinOverlayImage.Source = new BitmapImage(new Uri("images/Hedgehog.png", UriKind.Relative)); 
     pinOverlay.Content = pinOverlayImage; 
     pinOverlay.PositionOrigin = new Point(0.0, 0.0); 
     pinOverlayImage.Opacity = 0.8; 
     pinOverlayImage.Height = 30; 
     pinOverlayImage.Width = 30; 
     pinOverlayImage.Tap += pinOverlayImage_Tap; 
     pinLayer.Add(pinOverlay); 
     map1.Layers.Add(pinLayer); // THIS IS THE LINE CAUSING THE PROBLEM 

yüklenir yardımlarınızı bekleriz Global olarak ilan edilir, çünkü bunlar programın içinde diğer işlevlerde/yöntemlerde kullanılırlar.

Daha önce eklenmiş ve bunu yapmakta zorlanan katmanı eklemeye çalıştığı görülüyor, ancak tüm katmanları yöntemin ilk satırında temizleniyor.

+0

Sorunuzdaki kodu ekleyin –

+0

okay I did @AlaaMasoud –

+1

Hiç uygulamayı aynı sorunu görüyormuş gibi çözmeyi başardınız mı? –

cevap

3

Bu sorunu bir görüntü yerine global bir çokgen kullanarak yaptım. Sorun şu ki, map1.Layers.Clear() öğesini çağırıyor olsanız bile, bu çağrıldıktan hemen sonra yapılmaz, dolayısıyla yeni bir görüntü oluşturmanız gerekir. Genel olarak, bu, overlay için global/instance değişkenleri kullanılmadan giderilebilir. İçerik ... her seferinde beyan edip İçeriğe atayın.

İlgili konular