2010-06-30 5 views
5

Poszukiwanie zasobów w maksymalnym zakresie. Mam ładną, prostą aplikację Bing Maps opartą na Silverlight, która umieszcza szpilki na mapie. Teraz mam dużo szpilek, chciałbym zamiast tego tworzyć mapy termiczne w locie. Próbuję szukać zasobów, które wyjaśniają, jak to zrobić, ale nie mogę znaleźć niczego.Tworzenie map ciepła dla aplikacji Silverlight Bing Maps

Jakieś pomysły?

Odpowiedz

5

Prawdopodobnie nie będziesz miał wiele do roboty.

Szybkim sposobem na wygenerowanie mapy ciepła byłoby ponowne nakreślenie pinezki jako koła wypełnionego tłem z gradientem przezroczystości, całkowicie przezroczystym na krawędzi i średnią przezroczystością z drugiej. W miarę jak kółka się układają, kolor będzie bardziej intensywny.

EDIT

http://www.microsoft.com/maps/isdk/silverlight/#MapControlInteractiveSdk.Tutorials.TutorialCustomPushpin

i zastąpienie <m:Pushpin ... /> przez

<Ellipse Width="40" Height="40" m:MapLayer.Position="48.8,2.1" m:MapLayer.PositionOrigin="Center"> 
    <Ellipse.Fill> 
    <RadialGradientBrush> 
     <GradientStop Color="#7FFF0000" Offset="0"/> 
     <GradientStop Offset="1"/> 
    </RadialGradientBrush> 
     </Ellipse.Fill> 
    </Ellipse> 
+0

Dlaczego, na Boga, nie myślałem o tym? Czasami mogę być niesamowicie gęsty. Chociaż będę mieć oko na kod, wciąż jestem nowy w XAML/Silverlight/WPF. > _ < –

+0

To jest dobry pomysł. Będzie działać dla prostych rozwiązań. Jednakże, jeśli masz TONę danych, nadal będziesz musiał wygenerować obrazy w jakiś sposób, aby pokazać przy użyciu kontrolki TileSource. –

0

jest to dobry pomysł i działa świetnie na mapie monochromatyczny ciepła. Jak Johan powiedział, intensywność koloru dodaje się, gdy kręgi pokrywają się. Dodaję moje z kodu. Oto kod użyłem ...

Ellipse e = new Ellipse() { MaxWidth = 40, MaxHeight = 40 }; 
     e.Width = 40; 
     e.Height = 40; 
     e.Fill = new RadialGradientBrush(Color.FromArgb(128, 255, 0, 0), Color.FromArgb(0, 0, 0, 0)); 

... Jestem bardzo zainteresowany jak rozszerzyć to do wielobarwnego mapie ciepła, który idzie z kolorami „cool” do kolorów „gorących”. W tej chwili nie wiem, jak to zrobić. Ten artykuł (http://mapsys.info/44010/heat-mapping-crime-data-with-bing-maps-and-html5-canvas/) ma pomysł dla javascript w przeglądarce zgodnej z HTML5. Nie wiem, jak to przetłumaczyć na Silverlight.