尝试放大和缩小包含在 div 标签中的地图时,传单地图图块未完全加载
Leaflet maps tiles are not loading completely when tried to zoomin and zoomout tha map which contained in a div tag
我正在尝试在 div 标签中加载传单地图。
有时地图图块会完全加载。每当我尝试放大或缩小地图时,图块都没有完全加载。
我尝试了导入传单 CSS 样式等解决方案,并尝试在地图放大时调用 invalidateSize 函数。
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import 'leaflet/dist/leaflet.css';
import 'leaflet-draw/dist/leaflet.draw.css';
import L from 'leaflet';
import {} from "mapbox-gl-leaflet";
import 'leaflet-fullscreen';
import 'leaflet-fullscreen/dist/leaflet.fullscreen.css';
import 'leaflet.gridlayer.googlemutant';
class Map extends Component {
componentDidMount() {
this.initializeMap();
}
initializeMap = () => {
const { defaultLocation,
handleCloseMap, handleFieldErrorChanged, user } = this.props;
this.map = L.map('map', {
center: [...defaultLocation].reverse(),
zoom: 20,
fullscreenControl: true
});
L.gridLayer.googleMutant({ type: 'satellite', maxZoom: 20 }).addTo(this.map);
}
});
}
}
render() {
return <div id="map" className={styles.map} />;
}
}
尝试在 fiddle 中重现上述问题时仅使用
Javascript。地图渲染正确所以我得出的结论是
渲染地图没有问题。
在调试时,我发现包含地图的 div 元素的一个父元素具有 属性 文本对齐:居中,这导致地图无法完全加载图块。删除它后地图按预期呈现。
我希望它可以帮助某人在元素(如 div)中渲染地图时考虑很少发生的父元素的对齐。
我正在尝试在 div 标签中加载传单地图。
有时地图图块会完全加载。每当我尝试放大或缩小地图时,图块都没有完全加载。 我尝试了导入传单 CSS 样式等解决方案,并尝试在地图放大时调用 invalidateSize 函数。
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import 'leaflet/dist/leaflet.css';
import 'leaflet-draw/dist/leaflet.draw.css';
import L from 'leaflet';
import {} from "mapbox-gl-leaflet";
import 'leaflet-fullscreen';
import 'leaflet-fullscreen/dist/leaflet.fullscreen.css';
import 'leaflet.gridlayer.googlemutant';
class Map extends Component {
componentDidMount() {
this.initializeMap();
}
initializeMap = () => {
const { defaultLocation,
handleCloseMap, handleFieldErrorChanged, user } = this.props;
this.map = L.map('map', {
center: [...defaultLocation].reverse(),
zoom: 20,
fullscreenControl: true
});
L.gridLayer.googleMutant({ type: 'satellite', maxZoom: 20 }).addTo(this.map);
}
});
}
}
render() {
return <div id="map" className={styles.map} />;
}
}
尝试在 fiddle 中重现上述问题时仅使用 Javascript。地图渲染正确所以我得出的结论是 渲染地图没有问题。 在调试时,我发现包含地图的 div 元素的一个父元素具有 属性 文本对齐:居中,这导致地图无法完全加载图块。删除它后地图按预期呈现。 我希望它可以帮助某人在元素(如 div)中渲染地图时考虑很少发生的父元素的对齐。