Есть ли способ изменить изображение значка в зависимости от уровня масштабирования? (leaflet.js)

Я создаю инструмент для рисования областей для веб-приложения и использую маркеры в качестве привязок, которые пользователь может использовать для изменения формы многоугольника.

Это то, что у меня есть до сих пор.http://demos.nodeline.com/leaflet_development/

репозиторий находится вhttps://github.com/SpencerCooley/Leaflet_development

$(document).ready(function(){

var map, cloudmade, sanAntonio, polygonPoints  


 map = new L.Map('map');

 cloudmade = new L.TileLayer('http://{s}.tile.cloudmade.com/d4334cd6077140e3b92ccfae2b363070/997/256/{z}/{x}/{y}.png', {
    attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA, Imagery © CloudMade',
    maxZoom: 18
});


 sanAntonio = new L.LatLng(29.4238889, -98.4933333); // geographical point (longitude and latitude)


 map.setView(sanAntonio, 13).addLayer(cloudmade);




polygonPoints = [];

var polygon = new L.Polygon(polygonPoints);
map.addLayer(polygon);

map.on('click', function(e) {  


  var marker = new L.Marker(e.latlng, {draggable:true});
  polygonPoints.push(e.latlng);
  var markerId = polygonPoints.length -1 
  map.addLayer(marker);
  polygon.setLatLngs(polygonPoints);



  marker.on('drag', function(){
    var locationWhileDrag = marker.getLatLng();
    $('#first_marker').val(locationWhileDrag);
    polygonPoints.splice(markerId,1,locationWhileDrag);
    polygon.setLatLngs(polygonPoints);
  });      



});







});

Я хочу, чтобы маркеры были нормального размера только тогда, когда пользователь приближается к уровню улицы. При уменьшении масштаба маркеры нормального размера полностью заглушают полигон. Я просмотрел документы, но ничего не нашел по этому поводу.

В основном я ищу предложения/мозговой штурм. Я думаю, может быть, есть способ определить, в каком состоянии масштабирования вы сейчас находитесь? Если это так, я мог бы использовать оператор if, чтобы изменить значок.

8
задан Spencer Cooley 9 April 2012 в 03:39
поделиться