CRS.Simple无法正确加载TileLayer

时间:2018-06-30 09:49:14

标签: reactjs react-leaflet

在将crs = {L.CRS.Simple}添加到我的Map组件之前,该地图会加载并且看起来不错。但是,由于我使用的是自定义地图图像,因此我追求的是简单坐标系。

当我在地图组件中添加crs = {L.CRS.Simple}时,其水平和垂直方向偏移一半。以及将地图的上半部分加载到下半部分的下方(如下所示)(红色是地图的上半部分,而标记是在地图的中心):

incorrect placement of TileLayers and Map is offset

我希望的是像在我将crs属性添加到地图中之前那样使用简单坐标系(按预期工作)加载地图。

correct placement of TileLayers with no map offset

在将crs属性添加到Map之前,将TileLayers完全翻转,就像我在第一张图片中所看到的一样,并添加了属性tms = {true}来解决此问题。使用crs Simple属性时,该属性似乎没有什么区别。

这里是我的代码:

    return(
      <Map className={'leaflet-container'} center={center} zoom={this.state.zoom}
        minZoom={1} maxZoom={7} onClick={this.handleClick} crs={L.CRS.Simple}noWrap={true} tms={true}>
      <TileLayer url="http://localhost:3000/tiles/{z}/{x}/{y}.png" />
        <Marker position={center}/>
      </Map>
    );

0 个答案:

没有答案