Bing Maps Silverlight Control离线开发

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

部署地图数据

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

Bing Maps Silverlight Control离线开发_第1张图片


自定义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/

作者:王迪

你可能感兴趣的:(silverlight)