2013-04-16 3 views
4

У меня есть один маркер на карте в буклете:изменение размера маркера в листовке

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

Я хочу, чтобы изменить размер этого маркера на мыши.

Я знаю, что мы можем менять значки, но я просто хочу изменить размер одного и того же значка маркера.

+0

Он не поддерживается в API, вам необходимо удалить и добавить маркер еще раз. – jgillich

+0

Попробуйте 'setIcon', установите тот же значок, но с другим размером? – flup

+0

попробовал setIcon, но не работал для меня. Любое другое предложение –

ответ

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); 
}); 

Demo (используя несколько корявых настройки для центра и тени и т.д.):

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

8

Вы можете получить старую иконку из самих маркеров, изменить размер значка, а затем вызов setIcon с измененным значком:

var icon = centerMarker.options.icon; 
icon.options.iconSize = [newwidth, newheight]; 
centerMarker.setIcon(icon); 
Смежные вопросы