как переписать код листовки, чтобы отреагировать - PullRequest
0 голосов
/ 27 декабря 2018

нужна помощь в переписывании кода чистой 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>
...