leaflet - Proj4Leaflet 重投影就像在 openlayers 中一样

标签 leaflet openlayers-3 proj

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

下面是我使用 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 中渲染 map 并在另一个投影中渲染图层 (epsg:32610)。 my_custom_layer 的每个图 block 都将转换其图形以适合 basemap 投影。 因此,我的图 block 服务器每次都会返回简单的正方形 (256x256) 图 block ,并且 OL 会将正方形转换为一些新的图形。

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

最佳答案

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

Proj4leaflet 可用于支持除 Leaflet 中已内置的投影之外的其他投影,但您的图层仍然必须位于与 map 相同的投影中。

关于leaflet - Proj4Leaflet 重投影就像在 openlayers 中一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36036347/

相关文章:

python - 在 C++ 中使用 Proj4 从 UTM 转换为 LongLat

geopandas - 将右投影 crs 设置为 geodataframe 以米为单位计算

javascript - 使用proj4js转换坐标时的精度误差

javascript - Leaflet没有用geojsonFeatures标记点?

reactjs - 如何解析 "React Hook useEffect has a missing dependency: ' currentPosition'”

javascript - Leaflet geosearch - 将结果标记绑定(bind)到现有标记

javascript - 修改交互时取消监听事件并在监听后重新激活

styles - OpenLayers 3笔触样式

javascript - 即使我的 json 有效,也得到 "Error: Invalid Geojson Object"

javascript - 开放层 3 : Offset stroke style