3

我尝试在底图上的自己的投影中显示几个图层,也在它自己的投影中

下面是我使用 OpenLayers + proj4 库实现的工作示例

var projection_name = 'EPSG:32610';
proj4.defs(projection_name, "+proj=utm +zone=10 +datum=WGS84 +units=m +no_defs");
var proj = ol.proj.get(projection_name);
var my_custom_layer = new ol.layer.Tile({
opacity: 0.5,
source: new ol.source.XYZ({
url: '',
projection: proj,
})
});

var osm_layer = new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'osm'}),
opacity: 0.3
});

with OpenLayers I can create something like this
var map = new ol.Map({
layers: [osm_layer, my_custom_layer],
target: 'map',
view: new ol.View({
projection: 'EPSG:4326',
center: [-122.347, 37.805],
zoom: 9
})
});

结果将在投影 4326 中渲染地图,并在另一个投影中渲染图层 (epsg:32610)。my_custom_layer 的每个图块都将转换其图形以适合底图投影。所以我的瓦片服务器每次都返回简单的方形(256x256)瓦片,OL会将方形转换为一些新的图形。

是否可以使用 Leaflet + Proj4Leaflet 来实现它?

4

1 回答 1

3

不,Leaflet 和/或 Proj4Leaflet 不支持位图重投影。

Proj4leaflet 可用于支持 Leaflet 中内置的投影之外的其他投影,但您的图层仍必须与地图处于同一投影中。

于 2016-03-16T17:24:47.137 回答