自定义leaflet.js中的放大/缩小按钮
我正在尝试自定义缩放控制 (+/-),因此它应该像 Google 地图一样出现在右侧 (https:///www.google.com/maps/)
I am trying to customize zoom control (+/-), so it should appear in the right side like Google maps (https://www.google.com/maps/)
我尝试添加 float:right;
但没有成功.
I tried to add float:right;
but it didn't work.
来自 CSS 文件:
/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
font: bold 18px 'Lucida Console', Monaco, monospace;
text-indent: 1px;
}
.leaflet-control-zoom-out {
font-size: 20px;
}
.leaflet-touch .leaflet-control-zoom-in {
font-size: 22px;
}
.leaflet-touch .leaflet-control-zoom-out {
font-size: 24px;
}
http://jsfiddle.net/hsy7v/1/
推荐答案
你的放大/缩小控件被绝对定位的元素包裹着 left:0
(由于 .leaflet-left 类),所以 float:left
无济于事,您可以通过 right:0
覆盖 left:0
或更改 来将其右对齐>.leaflet-left
类到 .leaflet-right
Your zoom in/out controls are wrapped with absolutely positioned element with left:0
(due to .leaflet-left class), so float:left
wouldn't help, you could align it to right by overriding left:0
by right:0
, or changing .leaflet-left
class to .leaflet-right
但更正确的方法是使用提供的 api.
But more correct way would be to use provided api.
//disable zoomControl when initializing map (which is topleft by default)
var map = L.map("map", {
zoomControl: false
//... other options
});
//add zoom control with your options
L.control.zoom({
position:'topright'
}).addTo(map);
查看更新的 fiddle
您使用的库的 api 参考可以在 这里
api reference for the library you use can be found here
相关文章