有没有办法限制平移出世界的边缘?在这张照片上,棕色是世界,灰色是空虚。我想让它不可能像这样平移。
我可以防止将 Leaflet 地图平移出世界边缘吗?
IT技术
javascript
maps
leaflet
2021-02-21 08:41:17
3个回答
这就是我为世界地图解决的方法
var map = L.map('map').setView([51.505, -0.09], 3);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png').addTo(map);
var southWest = L.latLng(-89.98155760646617, -180),
northEast = L.latLng(89.99346179538875, 180);
var bounds = L.latLngBounds(southWest, northEast);
map.setMaxBounds(bounds);
map.on('drag', function() {
map.panInsideBounds(bounds, { animate: false });
});
见工作示例既为版本.7.0.7 http://jsfiddle.net/exqar2w4/18/和1.0.3版本 http://jsfiddle.net/exqar2w4/20/
我使用的react-leaflet
语法与上面的略有不同,但我认为展示一些合理的使用范围会有所帮助(上面的答案都没有这样做)。
import Leaflet from 'leaflet'
import { Map as LeafletMap} from 'react-leaflet'
// Set map bounds.
// Allow scroll over the international date line, so users can comfortably zoom into locations near the date line.
const corner1 = Leaflet.latLng(-90, -200)
const corner2 = Leaflet.latLng(90, 200)
const bounds = Leaflet.latLngBounds(corner1, corner2)
然后将其呈现为...
<LeafletMap
maxBoundsViscosity={1.0}
maxBounds={bounds}
{...otherProps}
>
其它你可能感兴趣的问题