Using XAML for rendering maps [原文] [翻译] [作者:Clark]
Using XAML for rendering maps
I was just reading a few articles on XAML - Microsoft new UI language for rendering vector content and user interfaces - when it hit me that this probably can get you much further in web mapping interaction than SVG can. XAML is part of the "Windows Presentation Foundation" a part of .NET Framework 3.0
最近读了几篇关于XAML(微软用于渲染矢量图形和用户界面的新一代UI语言)的文章,我想它可能比SVG在WEB应用程序的交互上更有前途。XAML 是.NET Framework3.0中"Windows Presentation Foundation"的一部分。
My first attempt to generate XALM was done by creating a new renderer for SharpMap, and below you can see my first results in XamlPad. The data here has been created based on a SharpMap map by my quick'n'dirty XamlRenderer for SharpMap.
我开始尝试为SharpMap写一个新的renderer用来生成XAML,下图是在XamlPad查看生成的结果。这些数据是基于SharpMap的XamlRenderer生成的,代码有点混乱。
All it takes with the new renderer is initializing the new renderer with your map, and request a new map:
SharpMap.Xaml. Renderer XamlRenderer = new SharpMap.Xaml. Renderer (map);
string xaml = XamlRenderer.GetMap();
If you zip the generated XAML file you even get a 20% reduction over a PNG image.
Next step is to add interaction like zooming, querying etc…
你只需要用自己的地图实例化一个XamlRenderer,然后请求地图就可以得到这些数据,代码如下:
SharpMap.Xaml. Renderer XamlRenderer = new SharpMap.Xaml. Renderer (map);
string xaml = XamlRenderer.GetMap();
如果压缩一下生成的XAML文件,大约有20%的压缩率比PNG图片的压缩比还大。
下一步就是加入与其的交互了,如放大、查询等等。。。