Merge pull request #1273 from snkashis/fix_circle_clicks
Remove canvas click handler with onRemove, #1006
This commit is contained in:
commit
c2064ef204
88
debug/tests/add_remove_layers.html
Normal file
88
debug/tests/add_remove_layers.html
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Leaflet debug page</title>
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../../dist/leaflet.css" />
|
||||||
|
<!--[if lte IE 8]><link rel="stylesheet" href="../../dist/leaflet.ie.css" /><![endif]-->
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../css/screen.css" />
|
||||||
|
<script type='text/javascript' src='http://code.jquery.com/jquery-1.8.0.js'></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
L_PREFER_CANVAS = true;
|
||||||
|
$(document).ready(function() {
|
||||||
|
var map;
|
||||||
|
var myLayerGroup = new L.LayerGroup();
|
||||||
|
|
||||||
|
initmap();
|
||||||
|
|
||||||
|
|
||||||
|
function initmap() {
|
||||||
|
|
||||||
|
// set up the map
|
||||||
|
map = new L.Map('map');
|
||||||
|
|
||||||
|
// create the tile layer with correct attribution
|
||||||
|
var osmUrl = 'http://a.tile.openstreetmap.org/{z}/{x}/{y}.png';
|
||||||
|
var osmAttrib = 'Map data © OpenStreetMap contributors';
|
||||||
|
var osm = new L.TileLayer(osmUrl, { minZoom: 1, maxZoom: 17, attribution: osmAttrib, detectRetina: true });
|
||||||
|
map.addLayer(osm);
|
||||||
|
map.fitBounds(new L.LatLngBounds([51,7],[51,7]));
|
||||||
|
drawTestLine();
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
function drawTestLine() {
|
||||||
|
var lat = 51;
|
||||||
|
var long = 7;
|
||||||
|
for (var i = 0; i < 50; i++) {
|
||||||
|
|
||||||
|
var myCircle = new L.Circle(new L.LatLng(lat, long),3);
|
||||||
|
myCircle.on('click',
|
||||||
|
function (e) {
|
||||||
|
popup = new L.Popup();
|
||||||
|
popup.setLatLng(this.getLatLng());
|
||||||
|
|
||||||
|
var popuptxt = "Hello!";
|
||||||
|
alert("I am the click function");
|
||||||
|
popup.setContent(popuptxt);
|
||||||
|
|
||||||
|
map.openPopup(popup);
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
myLayerGroup.addLayer(myCircle);
|
||||||
|
lat = lat + 0.0001;
|
||||||
|
long = long + 0.0001;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
map.addLayer(myLayerGroup);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
$("#b1").click(function() {
|
||||||
|
map.addLayer(myLayerGroup);
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#b2").click(function() {
|
||||||
|
map.removeLayer(myLayerGroup);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script src="../leaflet-include.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="map"></div>
|
||||||
|
<div id="buttons">
|
||||||
|
<button type="button" id="b1"> Add Layer</button>
|
||||||
|
<button type="button" id="b2"> Remove Layer</button>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -36,6 +36,10 @@ L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path :
|
|||||||
.off('viewreset', this.projectLatlngs, this)
|
.off('viewreset', this.projectLatlngs, this)
|
||||||
.off('moveend', this._updatePath, this);
|
.off('moveend', this._updatePath, this);
|
||||||
|
|
||||||
|
if (this.options.clickable) {
|
||||||
|
this._map.off('click', this._onClick, this);
|
||||||
|
}
|
||||||
|
|
||||||
this._requestUpdate();
|
this._requestUpdate();
|
||||||
|
|
||||||
this._map = null;
|
this._map = null;
|
||||||
|
Loading…
Reference in New Issue
Block a user