Elisy Theater declares GeoXaml conception similar to KML supporting by Google Maps. GeoXaml declares a Canvas inherited class with new LeftLng, TopLat, RightLng and BottomLat attributes. In Elisy Theater it is the Scene named class declared in Elisy.Theater.Common assembly. Width, Height, LeftLng, TopLat, RightLng and BottomLat should be specified. According to these properties viewer calculates both the distinct pixel coordinates and the scale transform for Scene using current zoom level (level of detail).

GeoXaml and Scenes supports all the Xaml features including animations, transforms, tooltips etc. These features make it more competitive than traditional KML. The speed of Xaml rendering will be faster than Kml rendering on Google Maps API. The simplest GeoXaml you can view at Elisy Theater demonstration. It contains only pure Xaml. You can also download entire open source solution from downloads page to play. The following GeoXaml is declared in App.xaml:

<common:scene width="2330" height="3177" leftlng="74.600" toplat="42.875" rightlng="74.625" bottomlat="42.850">
    <Canvas x:Name="KievskyStreet" Width="572.88" Height="13.49" Canvas.Left="-6.73" Canvas.Top="29.69" RenderTransformOrigin="0.5, 0.5">
        <Canvas.RenderTransform>
            <TransformGroup>
                <RotateTransform Angle="2.22"/>
            </TransformGroup>
        </Canvas.RenderTransform>
        <ToolTipService.ToolTip>
            <TextBlock Text="Kievsky Street"/>
        </ToolTipService.ToolTip>
        <Path Fill="#FFF4EB47" Data="M 2.56,1.77 L 573.87,1.94 L 572.73,10.82 L 1.09,11.42 L 2.56,1.77 Z"/>
    </Canvas>
...
</common:scene>

It draws street on the Virtual Earth overlay and adds tooltip functionality to it. Please note we have used only one user defined class Scene. All other code is pure Xaml.

Certainly Elisy Theater will provide the set of new classes like Building, Street, Railway etc. This approach will allow different themes, the single look&feel style for all controls etc.

GeoXaml has highly extensible nature allowing storing in DBMS Xml data fields and querying it. It allows localization, templating, dynamic content generation on the server side by request.

GeoXaml tile system has many advantages over the traditional bitmap tile system. For example it allows interactive content, overlapped tiles, tiles of different sizes, animated tiles. Xaml vector graphics supports best quality in deep zooming over bitmaps. We can say that traditional bitmap tile system is the subset of GeoXaml tile system as you can see in Elisy Theater demonstration where each Virtual Earth bitmap tile is rendered dynamically as Scene with Image in it.

Now GeoXaml has some limitations determined by Silverlight 2 beta 2. For example by now we have no clear vision of how to reference user defined assembly (or JavaScript, Python etc.) from GeoXaml returned from the server outside the xap package. This mechanism will allow user defined interactive xaml content with event handlers. For example users can specify their own GeoXaml tiles with their own assemblies (or script code), save it on the server and server will provide it to Elisy Theater viewer. Silverlight 1.1 Alpha provided this functionality in Xamls and we hope it will be implemented in Silverlight 2 beta 2.

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5