如何为非地理WMS配置Leaflet?

时间:2015-08-20 11:28:42

标签: leaflet

我正在尝试使用Leaflet使用存储在WMS服务中的非地理图像。这些是旧地图的图像,尚未进行地理配准..

我找不到配置Leaflet以生成对WMS服务器的正确请求的方法。问题是Leaflet产生的BBOX值是不对的。它们太小,服务器响应内部服务器错误。

但是,服务器功能正常,并且能够正常处理。

这是一张地图的代码:(http://jsfiddle.net/fmL4x4fw/

var base_url = 'http://warper.wmflabs.org';
var unwarped_image_width = 6708;
var unwarped_image_height = 6936;
var wms_url = '/maps/wms/177';

var map = L.map('map', {
    crs: L.CRS.Simple
}).setView([300, 300], 10);

var southWest = map.unproject([0, 6936], map.getMaxZoom());
var northEast = map.unproject([6708, 0], map.getMaxZoom());
map.setMaxBounds(new L.LatLngBounds(southWest, northEast));

var mywms = L.tileLayer.wms(base_url + wms_url, {
    format: 'image/png',
    version: '1.1.1',
    attribution: "warper",
    status: 'unwarped'
});
mywms.addTo(map);

我应该编写某种自定义投影还是有其他方式?我对预测不太熟悉。

更新: 这是配置Openlayers的当前实现的方式:

un_bounds = new OpenLayers.Bounds(0, 0, unwarped_image_width, unwarped_image_height);
umap = new OpenLayers.Map('unmap',
        {controls: [mds, new OpenLayers.Control.PanZoomBar()], maxExtent: un_bounds, maxResolution: 10.496, numZoomLevels: 8});
var unwarped_image = new OpenLayers.Layer.WMS(title,
        wms_url, {format: 'image/png', status: 'unwarped'});

umap.addLayer(unwarped_image);

0 个答案:

没有答案