在将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>
);