为了创建自定义图块源,您将继承MultiScaleTileSource
并覆盖该GetTileLayers
方法,如下例所示,该方法定义了一个由 1000*1000 个大小为 256x256 像素的图块组成的图像。
public class MyTileSource : MultiScaleTileSource
{
public MyTileSource()
: base(1000 * 256, 1000 * 256, 256, 256, 0)
{
}
protected override void GetTileLayers(
int tileLevel, int tilePositionX, int tilePositionY,
IList<object> tileImageLayerSources)
{
// create an appropriate URI for tileLevel, tilePositionX and tilePositionY
// and add it to the tileImageLayerSources collection
var uri = new Uri(...);
tileImageLayerSources.Add(uri);
}
}
现在您将 MyTileSource 类的一个实例分配给 MultiScaleImage 控件:
MultiScaleImage msImage = ...
msImage.Source = new MyTileSource();