mirror of
https://github.com/a-nyx/maputnik-with-pmtiles.git
synced 2024-11-10 09:17:46 +01:00
Fixes lat/lon precision and center change via zoom without pan.
This commit is contained in:
parent
27e6675d26
commit
0009c74948
2 changed files with 13 additions and 22 deletions
|
@ -134,14 +134,12 @@ export default class MapboxGlMap extends React.Component {
|
|||
|
||||
const map = new MapboxGl.Map(mapOpts);
|
||||
|
||||
const center = map.getCenter();
|
||||
const zoom = map.getZoom();
|
||||
|
||||
this.setState({
|
||||
center,
|
||||
zoom,
|
||||
});
|
||||
this.props.onChange({center, zoom});
|
||||
const mapViewChange = () => {
|
||||
const center = map.getCenter();
|
||||
const zoom = map.getZoom();
|
||||
this.props.onChange({center, zoom});
|
||||
}
|
||||
mapViewChange();
|
||||
|
||||
map.showTileBoundaries = mapOpts.showTileBoundaries;
|
||||
map.showCollisionBoxes = mapOpts.showCollisionBoxes;
|
||||
|
@ -206,19 +204,8 @@ export default class MapboxGlMap extends React.Component {
|
|||
});
|
||||
});
|
||||
|
||||
map.on("dragend", e => {
|
||||
this.props.onChange({
|
||||
center: map.getCenter(),
|
||||
zoom: this.state.zoom,
|
||||
})
|
||||
});
|
||||
|
||||
map.on("zoomend", e => {
|
||||
this.props.onChange({
|
||||
center: this.state.center,
|
||||
zoom: map.getZoom(),
|
||||
})
|
||||
});
|
||||
map.on("dragend", mapViewChange);
|
||||
map.on("zoomend", mapViewChange);
|
||||
}
|
||||
|
||||
render() {
|
||||
|
|
|
@ -19,6 +19,10 @@ class DebugModal extends React.Component {
|
|||
render() {
|
||||
const {mapView} = this.props;
|
||||
|
||||
const osmZoom = Math.round(mapView.zoom)+1;
|
||||
const osmLon = Number.parseFloat(mapView.center.lng).toFixed(5);
|
||||
const osmLat = Number.parseFloat(mapView.center.lat).toFixed(5);
|
||||
|
||||
return <Modal
|
||||
data-wd-key="debug-modal"
|
||||
isOpen={this.props.isOpen}
|
||||
|
@ -56,7 +60,7 @@ class DebugModal extends React.Component {
|
|||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href={`https://www.openstreetmap.org/#map=${Math.round(mapView.zoom)+1}/${mapView.center.lat}/${mapView.center.lng}`}
|
||||
href={`https://www.openstreetmap.org/#map=${osmZoom}/${osmLat}/${osmLon}`}
|
||||
>
|
||||
Open in OSM
|
||||
</a> — Opens the current view on openstreetmap.org
|
||||
|
|
Loading…
Reference in a new issue