Javascript 如何在传单中设置图像偏移?
是否可以使用传单基于偏移移动瓷砖层 问题是,我使用OSM数据在地图上显示标记和建筑轮廓,但由于我使用的是另一个瓷砖提供商,所以OSM数据与卫星图像不同步 是否有一种简单的方法可以在传单中添加偏移量 附上openstreetmap iD编辑器的截图: 是否可以使用传单基于偏移移动瓷砖层 是否有一种简单的方法可以在传单中添加偏移量Javascript 如何在传单中设置图像偏移?,javascript,leaflet,mapbox,openstreetmap,mapbox-gl-js,Javascript,Leaflet,Mapbox,Openstreetmap,Mapbox Gl Js,是否可以使用传单基于偏移移动瓷砖层 问题是,我使用OSM数据在地图上显示标记和建筑轮廓,但由于我使用的是另一个瓷砖提供商,所以OSM数据与卫星图像不同步 是否有一种简单的方法可以在传单中添加偏移量 附上openstreetmap iD编辑器的截图: 是否可以使用传单基于偏移移动瓷砖层 是否有一种简单的方法可以在传单中添加偏移量 有几种方法可以抵消传单L.tillelayer,但它们并不直接。我建议在执行这样一项任务之前,先阅读并阅读传单的源代码 一种方法是在计算分幅CSS偏移的特定代码位
有几种方法可以抵消传单
L.tillelayer
,但它们并不直接。我建议在执行这样一项任务之前,先阅读并阅读传单的源代码
一种方法是在计算分幅CSS偏移的特定代码位上使用a,即:
该内部方法接受平铺坐标,并返回相对于传单所称的原始像素的像素坐标。这些概念是非常重要的
因此,我可以通过子类化L.TileLayer
并为\u getTilePos
创建一个具有新实现的新类(但重用父类的实现)来创建装饰器,例如
见a
这将使平铺的CSS位置(由L.Point
的实例表示)偏移25个水平和垂直像素。注意偏移量是CSS像素;不是米,也不是纬度/经度
可以根据瓷砖坐标(从中可以导出纬度、经度和比例尺)确定偏移量,但我怀疑如果不小心进行所涉及的大地测量计算(即如何从瓷砖坐标计算米数),可能会出现人工制品(如瓷砖之间的间隙)
是否可以使用传单基于偏移移动瓷砖层
是否有一种简单的方法可以在传单中添加偏移量
有几种方法可以抵消传单
L.tillelayer
,但它们并不直接。我建议在执行这样一项任务之前,先阅读并阅读传单的源代码
一种方法是在计算分幅CSS偏移的特定代码位上使用a,即:
该内部方法接受平铺坐标,并返回相对于传单所称的原始像素的像素坐标。这些概念是非常重要的
因此,我可以通过子类化L.TileLayer
并为\u getTilePos
创建一个具有新实现的新类(但重用父类的实现)来创建装饰器,例如
见a
这将使平铺的CSS位置(由L.Point
的实例表示)偏移25个水平和垂直像素。注意偏移量是CSS像素;不是米,也不是纬度/经度
可以根据瓷砖坐标(从中可以导出纬度、经度和比例尺)确定偏移量,但我怀疑如果不小心进行所涉及的大地测量计算(即如何从瓷砖坐标计算米数),可能会出现人工制品(如瓷砖之间的间隙)
_getTilePos: function (coords) {
return coords.scaleBy(this.getTileSize()).subtract(this._level.origin);
},
var OffsetTileLayer = L.TileLayer.extend({
_getTilePos: function (coords) {
var pos = L.TileLayer.prototype._getTilePos.call(this, coords);
return pos.add([25, 25]);
},
});
var offsetTileLayer = new OffsetTileLayer(/* etc */);
offsetTileLayer.addTo(map);