废话不多说,直接上代码。
var mapExtent = [-20037508.34, -20037508.34, 20037508.34, 20037508.34];
var mapResolutions = [156543.03392804062, 78271.51696402031, 39135.758482010155, 19567.8792410050775, 9783.93962050253875];
var map = new ol.Map({
target: 'mapDiv',
view: new ol.View({
projection: 'EPSG:3857',
zoom: 2,
center: [(mapExtent[2] + mapExtent[0]) / 2, (mapExtent[3] + mapExtent[1]) / 2],
resolutions: mapResolutions
})
});
var urlTemplate = "http://localhost:28509/MapServer/TileHandlerTest.ashx?m=ChinaMap&t=0&l={z}&r={y}&c={x}&f=png";
var attribution = new ol.Attribution({ html: "<a href='http://www.map1000.com/' target='_blank'>千图网</a>" });
var tileGrid = new ol.tilegrid.TileGrid({
extent: mapExtent,
minZoom: 0,
origin: [mapExtent[0], mapExtent[3]],
resolutions: mapResolutions,
tileSize: [256, 256]
});
var baseLayer = new ol.layer.Tile({
attributions: [attribution],
source: new ol.source.XYZ({
url: urlTemplate,
tileGrid: tileGrid
})
});
map.addLayer(baseLayer);