改变传单中标记的大小

时间:2013-04-16 13:17:54

标签: javascript icons leaflet

我在传单上有一个标记:

var centerMarker = L.marker(centerPoint, { title: 'unselected' }).bindLabel(schools[i][0]);
centerMarker.on('click', selectMarker);
centerMarker.addTo(map);

我想在点击时更改该标记的大小。

我知道我们可以更改图标,但我只想更改标记相同图标的大小。

3 个答案:

答案 0 :(得分:11)

您可以从标记本身获取旧图标,更改图标的大小,然后使用更改的图标调用setIcon

var icon = centerMarker.options.icon;
icon.options.iconSize = [newwidth, newheight];
centerMarker.setIcon(icon);

答案 1 :(得分:3)

在标记上使用setIcon,提供具有相同图像但不同大小和锚点的新图标。

var centerPoint = L.latLng(55.4411764, 11.7928708);
var centerMarker = L.marker(centerPoint, { title: 'unselected' });
centerMarker.addTo(map);

centerMarker.on('click', function(e) {
    centerMarker.setIcon(bigIcon);
});

演示(使用中心和阴影等有些草率设置):

http://jsfiddle.net/pX2xn/4/

答案 2 :(得分:0)

尽管这是一个古老的问题,但是如果有人正在寻找答案以外的其他可能的选择。

$('.form-group:has(input[value=2])').addClass('alert-success');

资源:https://leafletjs.com/examples/custom-icons/