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中打开一个问题。