2010-06-30 57 views
5

寻找与任何东西一样多的资源。我有一个很好的简单的基于Silverlight的Bing Maps应用程序,它可以将引脚放入地图中。现在我有了很多针脚,我想改为创建热图。我试图寻找解释如何解决这个问题的资源,但找不到任何东西。为Bing地图的Silverlight应用程序创建热图

那么,有什么想法?

回答

5

你可能不会有太多事情要做。

生成热图的一种快速方法是将图钉作为充满透明度渐变背景的圆形图案,边缘完全透明,另一边中等透明。随着圆圈堆叠起来,颜色会更加激烈。

编辑

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

和更换<m:Pushpin ... />通过

<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

为什么地球上我没有想到这一点?有时我会变得非常厚实。尽管我会密切关注代码,但我仍然对XAML/Silverlight/WPF游戏不熟悉。 > _ < – 2010-06-30 13:53:06

+0

这是一个好主意。它可以用于简单的解决方案。但是,如果您有一个TON数据,那么您仍然需要以某种方式生成图像以显示使用TileSource控件。 – 2010-07-08 05:20:47

0

这是一个好主意,它的黑白热图的伟大工程。正如约翰所说,颜色强度随着圆圈重叠而增加。我从代码中加入我的。下面是我使用的代码...

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)); 

...我如何将其扩展到多色热图,从“酷”的颜色,以“热”的颜色变为非常感兴趣。目前我不知道该怎么做。本文(http://mapsys.info/44010/heat-mapping-crime-data-with-bing-maps-and-html5-canvas/)对符合HTML5的浏览器中的javascript有一个想法。我不知道如何将它转换为Silverlight。

相关问题