例如,我有两个地图图层:打开街道地图和我们自己的地图图层。两者都可以这样定义:
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a>'
}).addTo(mapObject);
问题在于我不需要在整个地图上绘制第二层,而只需在L.FeatureGroup
的内部元素中绘制:
var drawnItems = new L.FeatureGroup().addTo(mapObject);
特别是在多边形,矩形等内部......这可能与传单有关吗?如果是的话,如何实现这一目标?
感谢。
答案 0 :(得分:1)
一种方法是使用bounds
option of your L.TileLayer
,即:
var drawnItems = new L.FeatureGroup( .... );
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: ...,
bounds: drawnItems.getBounds()
}).addTo(mapObject);
另一种方法是查看list of plugins for tile display,并使用TileLayer.BoundaryCanvas或leaflet-tilelayer-mask(请记住,更多插件可能适用,并且将来可能会出现更多插件)。