Bing Maps Silverlight Control离线开发

    前面有人问到Bing Maps Silverlight Control如何离线开发,下面说一下思路。不管是有线还是离线,本质上就是所加载的地图数据不同而已,加载不同的地图数据可以通过自定义TileSource实现。

部署地图数据

将地图数据通过Web服务器(如:IIS)部署


自定义TileSource

这个TileSource实现Google卫星地图的加载,主要是正确的TileSource映射Url。

public class GoogleTileSource : TileSource
{
    public GoogleTileSource()
        : base("http://localhost:6000/BJ_{0}/{1}-{2}.png")
    { }

     public override Uri GetUri(int x, int y, int zoomLevel)
     {
         int port = Application.Current.Host.Source.Port;

         string url = string.Format(this.UriFormat, (zoomLevel + 1).ToString("D2"), (y + 1).ToString("D6"), (x + 1).ToString("D6"), port);
         return new Uri(url);
     }
 }

 

好了,思路就说到这了。

转载时须注明本文的详细链接,否则作者将保留追究其法律责任

出处:http://www.cnblogs.com/flute-di/

作者:王迪

posted @ 2011-09-08 17:13  flute  阅读(1545)  评论(2编辑  收藏  举报