Lealefjs:防止将标记拖到ImageLayer边界之外
Lealefjs : Prevent Dragging Marker out of ImageLayer bounds
我正在mapclick函数上添加可拖动标记。我不允许用下面的代码把标记放在地图外。
if (imageBounds.contains(newPosition)) {
var newMarker = L.marker(newPosition).addTo(map);
}
但我可以把标记拖到图像层外,我想防止这个问题。这是我的代码http://jsfiddle.net/xfdxe2ea/
我编辑了你的小提琴以实现你想要的。
基本上,我所做的是为drag
事件注册一个处理程序,然后每次调用该处理程序时,我都会检查标记是否仍在所需的范围内。如果是,我将其位置存储在可通过闭包访问的变量中,这可以被视为最后一个已知的有效位置。如果标记位置变为"无效"(超出界限),则我"手动"将其替换为最后一个已知的有效位置。
var lastValidPosition;
newMarker.on("drag", function(event) {
var latLng = newMarker.getLatLng();
if (imageBounds.contains(latLng)) {
lastValidPosition = latLng;
} else {
if (lastValidPosition) {
newMarker.setLatLng(lastValidPosition);
}
}
}, newMarker);
相关文章:
- 上传带有XMLHttprequest的文件-多部分/表单数据中缺少边界
- 对于如何在没有modernizr的情况下用边界半径的功能检测检查来替换我的旧浏览器检查
- 仅在边界内时替换特定字符
- 将谷歌地图中的平移边界设置为图像覆盖
- 将边界设置为overlayImage谷歌地图
- 为什么不是't这=>边界“;这个“;到周围的范围
- 获取以屏幕像素为单位的旋转SVG元素的边界
- RegEx:在单词边界添加加号
- 我如何才能获得Facebook在边界内的位置列表
- 精灵从pixi到p2的边界多边形
- CSS 溢出边界半径鼠标事件
- jQuery根据鼠标位置计算DIV偏移量和边界
- 世界的最大纬度和长边界 - 谷歌地图API LatLngBounds().
- 谷歌地图API地理编码器,受边界限制
- 由于找不到多部分边界,请求被拒绝
- 谷歌地图的多段线边界
- ExtJS 4.2.1-具有动态高度的边界布局
- 为什么可以't我得到了这个d3.js文本的边界框
- Regex单词边界(退格)测试用例
- Lealefjs:防止将标记拖到ImageLayer边界之外