Мне нужно выбрать несколько маркеров на карте. Примерно так: выделение прямоугольника/прямоугольника в Картах Google, но с Leaflet и OSM.
Я думаю, что это можно сделать, изменив поле масштабирования, которое появляется, когда вы перемещаете щелчок и перетаскиваете карту OSM, но я не знаю, как это сделать.
Редактировать: я переписал функцию _onMouseUp, как предложил Л. Санна, и в итоге получил что-то вроде этого:
_onMouseUp: function (e) {
this._finish();
var map = this._map,
layerPoint = map.mouseEventToLayerPoint(e);
if (this._startLayerPoint.equals(layerPoint)) { return; }
var bounds = new L.LatLngBounds(
map.layerPointToLatLng(this._startLayerPoint),
map.layerPointToLatLng(layerPoint));
var t=0;
var selected = new Array();
for (var i = 0; i < addressPoints.length; i++) {
var a = addressPoints[i];
pt = new L.LatLng(a[0], a[1]);
if (bounds.contains(pt) == true) {
selected[t] = a[2];
t++;
}
}
alert(selected.join('\n'))
},