нужна помощь в переписывании кода чистой js листовки, чтобы отреагировать на листовку.
Я хочу увидеть этот оверлей в наложении реактивной листовки
Я думаю, что могу сделать это с ссылками, но не сделалнайти функцию "getTileUrl": (
createLayer () {
const { map } = this.props.leaflet;
L.TileLayer.Rosreestr = L.TileLayer.extend({
options: {
tileSize: 1024,
},
getTileUrl: function (tilePoint) {
var map = this._map,
crs = map.options.crs,
tileSize = 1024,
nwPoint = tilePoint.multiplyBy(tileSize),
sePoint = nwPoint.add([tileSize, tileSize]);
var nw = crs.project(map.unproject(nwPoint, tilePoint.z)),
se = crs.project(map.unproject(sePoint, tilePoint.z)),
bbox = [nw.x, se.y, se.x, nw.y].join(',');
return L.Util.template(this._url, L.extend({
s: this._getSubdomain(tilePoint),
bbox: bbox
}));
}
});
L.tileLayer.rosreestr = function() {
return new L.TileLayer.Rosreestr("https://pkk5.rosreestr.ru/arcgis/rest/services/Cadastre/Cadastre/MapServer/export?layers=show&dpi=96&format=PNG32&bbox=${bbox}&size=1024%2C1024&transparent=true&f=image");
}
L.control.layers(null, {REESTR: L.tileLayer.rosreestr({},{ minZoom: 2, maxZoom: 18}) },{collapsed: false}).addTo(map);}
Хотите поместить код в ЭТО:
<Map ref={(ref) => { this.map = ref }} center={center} zoom={currentZoom} style={styleLeaf} maxZoom="18" >
<LayersControl position="topright" >
<BaseLayer checked name="Landscape">
<TileLayer
url="https://tile.thunderforest.com/landscape/{z}/{x}/{y}.png/>
</BaseLayer>
<BaseLayer name="OpenCycleMap">
<TileLayer
url="https://tile.thunderforest.com/cycle/{z}/{x}/{y}.png"/>
</BaseLayer>
</LayersControl>
<Overlay checked name="REESTR" >
<TileLayer
ref={(ref) => { this.tile = ref }}
attribution="REESTR" url="https://pkk5.rosreestr.ru/arcgis/rest/services/Cadastre/Cadastre/MapServer/export?layers=show&dpi=96&format=PNG32&bbox=${bbox}&size=1024%2C1024&transparent=true&f=image">
</TileLayer>
</Overlay>