标记,圆形和多边形(Markers, circles and polygons)
除了图层图块,还可以向地图添加其他内容,包括标记,折线,多边形,圆形和弹出窗口。
让我们添加一个标记:
var marker = L.marker([51.5, -0.09]).addTo(mymap);
添加圆是相同的(除了以米为单位指定半径作为第二个参数),但是可以通过创建对象时将选项作为最后一个参数传递来控制圆的外观:
var circle = L.circle([51.508, -0.11], {
color: ‘red’,
fillColor: ‘#f03’,
fillOpacity: 0.5,
radius: 500
}).addTo(mymap);
添加多边形非常简单:
var polygon = L.polygon([
[51.509, -0.08],
[51.503, -0.06],
[51.51, -0.047]
]).addTo(mymap);
使用弹出窗口(Working with popups)
当需要将某些选项附加到地图上的特定对象时,通常使用弹出窗口。leaflet有一个非常便捷的快捷方式:
marker.bindPopup(“Hello world!
I am a popup.”).openPopup();
circle.bindPopup(“I am a circle.”);
polygon.bindPopup(“I am a polygon.”);
尝试点击我们的对象。该bindPopup方法将带有指定HTML内容的弹出窗口附加到标记上,因此单击对象时弹出窗口会出现,且该openPopup方法(仅用于标记)会立刻打开附加的弹出窗口。
还可以将弹出窗口用作图层(当需要除将弹出窗口附加到对象之外的其他功能时):
var popup = L.popup()
.setLatLng([51.5, -0.09])
.setContent(“I am a standalone popup.”)
.openOn(mymap);
在这里,我们使用openOn而不是addTo因为它在打开一个对可用性有利的新弹出窗口时会自动关闭先前打开的弹出窗口。