Reactjs 将传单中的基层与反应传单切换时出现罕见效果

Reactjs 将传单中的基层与反应传单切换时出现罕见效果,reactjs,leaflet,openstreetmap,react-leaflet,Reactjs,Leaflet,Openstreetmap,React Leaflet,我的应用程序显示了一个带有react传单的地图,并使用LayersControl在OSM TileLayer和HERE TileLayer之间切换。代码如下: <LayersControl position="topright"> <LayersControl.BaseLayer name={this.props.intl.formatMessage({id:'map.normal_map'})}

我的应用程序显示了一个带有
react传单
的地图,并使用
LayersControl
OSM TileLayer
HERE TileLayer
之间切换。代码如下:

 <LayersControl position="topright">

      <LayersControl.BaseLayer
                    name={this.props.intl.formatMessage({id:'map.normal_map'})}
                    checked={true}
                >
                    { tileLayerOSM }
                </LayersControl.BaseLayer>
                <LayersControl.BaseLayer name={this.props.intl.formatMessage({id:'map.terrain_map'})}>
                  { tileLayerHERE }
                </LayersControl.BaseLayer>
</LayersControl>

{tilleayerosm}
{tilleayerhere}
我看到的问题如下:当移动OSM地图时,一些“方块”从
这里下载,而它们还没有准备好
OSM
。请参阅网络跟踪:


我希望避免这种行为,因为这对用户来说有点烦人,他们会在短时间内看到可视化的变化。

我没有使用带有React的传单的经验,但这些显然不是理想的行为

在传单中,将这两个基本图层添加到地图时会发生(同时检索两个基本图层)。比如:

const accessToken = 'foo';
let osm = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png');
const mapbox = 'https://api.mapbox.com/styles/v1/mapbox/basic-9/tiles/256/{z}/{x}/{y}?access_token={accessToken}';

const map = L.map('map').setView([42.2, -8.8], 12);

map.addLayer(osm);
map.addLayer(mapbox); // only one should be added to the map
或直接在实例化地图时:

let map = L.map('map', {
        center: [42.2, -8.8],
        zoom: 12,
        layers: [osm, mapbox] // only one should be added to the map
    });
对于这种基本图层,您只需向地图添加一个,并使用图层控件在其中一个之间切换。仅添加一个贴图时,仅请求其中一个贴图的平铺,并保存bandwith


作为“在黑暗中拍摄”,我将尝试为所有层显式设置检查值。首先,作为一个错误,地图中不应显示任何内容。然后一个带有
checked=true
harcoded,另一个带有false,依此类推。可能问题在于如何管理这些属性。

我没有使用带有React的传单的经验,但这些显然不是理想的行为

在传单中,将这两个基本图层添加到地图时会发生(同时检索两个基本图层)。比如:

const accessToken = 'foo';
let osm = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png');
const mapbox = 'https://api.mapbox.com/styles/v1/mapbox/basic-9/tiles/256/{z}/{x}/{y}?access_token={accessToken}';

const map = L.map('map').setView([42.2, -8.8], 12);

map.addLayer(osm);
map.addLayer(mapbox); // only one should be added to the map
或直接在实例化地图时:

let map = L.map('map', {
        center: [42.2, -8.8],
        zoom: 12,
        layers: [osm, mapbox] // only one should be added to the map
    });
对于这种基本图层,您只需向地图添加一个,并使用图层控件在其中一个之间切换。仅添加一个贴图时,仅请求其中一个贴图的平铺,并保存bandwith


作为“在黑暗中拍摄”,我将尝试为所有层显式设置检查值。首先,作为一个错误,地图中不应显示任何内容。然后一个带有
checked=true
harcoded,另一个带有false,依此类推。问题可能在于如何管理这些属性。

很有意义。但是在官方文档()中,它们包括两个
基本层
层控制
中。我会玩一玩它,如果不能让它工作,我会停止使用
react-moile
直接与
moile
交互。谢谢对但在本例中,没有一个图层具有选中的
属性,因此如果您复制并粘贴,则不应显示任何内容。我刚刚尝试过,并以相同的方式继续工作,但用于选择图层的单选按钮已消失。我将尝试在react传单github中打开一个问题。有意义。但是在官方文档()中,它们包括两个
基本层
层控制
中。我会玩一玩它,如果不能让它工作,我会停止使用
react-moile
直接与
moile
交互。谢谢对但在本例中,没有一个图层具有选中的
属性,因此如果您复制并粘贴,则不应显示任何内容。我刚刚尝试过,并以相同的方式继续工作,但用于选择图层的单选按钮已消失。我将尝试在react传单github中打开一个问题。