草庐IT

javascript - 我怎样才能用 Leaflet.draw 抓取一些标记?

上下文:我制作了一张map,并在其中填充了大约300个随机标记。我可以通过单击弹出窗口中的链接来“选择”标记,并激活选择以显示来自的数据。我还有Leaflet.draw插件来绘制圆形、矩形和自定义形状等形状,我想用它来“选择”几个标记。问题如何获取落在绘制的leaflet.draw形状内的标记的传单标记对象,以便我可以编辑它们?我似乎无法做出选择,它要么不选择任何标记,要么选择所有标记。代码片段,去除了不必要的代码:constdrawControl=newL.Control.Draw({draw:{marker:false,polygon:true,polyline:false,rec

javascript - 如何使用传单定位定位用户?

我正在尝试定位用户并使用传单将map设置到这个位置:varmap;functioninitMap(){map=newL.Map('map',{zoomControl:false});varosmUrl='http://{s}.tile.openstreetmap.org/mapnik_tiles/{z}/{x}/{y}.png',osmAttribution='Mapdata©2012OpenStreetMapcontributors',osm=newL.TileLayer(osmUrl,{maxZoom:18,attribution:osmAttribution});map

javascript - 如何在传单 map 中只添加一个标记

我在用户点击时在map上添加标记。问题是我只想要一个标记,但现在每当我单击map时都会添加新标记。我正在尝试删除它,但没有任何反应:varmarker;map.on('click',function(e){map.removeLayer(marker)marker=newL.Marker(e.latlng,{draggable:true});marker.bindPopup(""+e.latlng+"").addTo(map);marker.on('dragend',markerDrag);}); 最佳答案 您可以使用.once来捕

javascript - 单击(右键单击)使用传单 map 库获取图像叠加层的像素坐标

我正在尝试使用传单map库在单击(右键单击/上下文菜单)时获取图像叠加层的像素坐标。本质上,当用户点击图片时,我需要找到用户点击图片的位置的x、y或宽度、高度。目前这就是我所拥有的。//Usingleaflet.jstopanandzoomabigimage.//Seealso:http://kempe.net/blog/2014/06/14/leaflet-pan-zoom-image.html//createtheslippymapvarmap=L.map('image-map',{minZoom:1,maxZoom:4,center:[0,0],zoom:1,crs:L.CRS.

javascript - map 框.js : set map limit bounds

我正在使用mapbox.js制作map,但我想为map边界和缩放设置限制。我必须向该脚本添加什么代码?varmap=L.mapbox.map('map','examples.map-9ijuk24y').setView([40,-74.50],9); 最佳答案 您可以将这些选项放入对象中作为第三个参数传递给L.mapbox.map。documentationforL.mapbox.map说它可以采用与Leaflet的L.map相同的所有选项,即documentedhere.您需要的选项是minZoom、maxZoom和maxBoun

javascript - 为所有缩放级别绘制一个恒定大小的圆 leaflet.js

我正在尝试实现类似this的东西使用leaflet.js,其中圆圈的大小在不同的缩放级别上保持不变。例如,如果我想描绘美国不同县的人口,我会让不同半径的圆圈代表不同范围的人口。当完全缩小时它们可能会重叠,但一旦我们开始放大,它们就会分开。那么有没有办法使用leaflet.js来做到这一点。我看到一个issue提高了,但我无法了解它是否已修复。任何帮助将不胜感激。 最佳答案 对于圆,只需使用circleMarker而不是circle:http://leafletjs.com/reference.html#circlemarker

javascript - 从 map 中移除多边形

要求:使用Leafletjsmapsapi,当客户点击标记时,应在标记正下方绘制一个矩形,并根据标记居中。然后单击另一个标记应删除以前的矩形并在新单击的标记下方绘制另一个矩形。问题:我正在使用下面的代码绘制一个多边形,我可以看到一个矩形。然后它在标记上绘制矩形。然后通过点击另一个标记,一个新的矩形被绘制出来。但是旧的矩形也仍然存在。问题:我应该如何实现该行为,以便在点击新标记时,旧矩形将从map中删除?//polygonvarlatBlockSize=0.002;varlngBlockSize=0.002;varroute=[newL.LatLng(parseFloat(custome

javascript - 传单js : draw POIs as canvas

我想用Leaflet画很多地理点。因此我想使用HTML5canvas来提高性能。我的数据源是geoJSON。正如我在Leaflet的文档中看到的那样,还不能将地理位置绘制为Canvas。varanotherGeojsonLayer=newL.GeoJSON(coorsField,{pointToLayer:function(latlng){returnnewL.Marker(latlng,{icon:newBaseballIcon()});}});我想我应该在这里Hook:pointToLayer:function(latlng){}有人知道如何将我的latlng对象绘制为Canvas

javascript - 模拟点击传单 map 项目

有传单Choroplethtutorial我必须模拟特定map区域上的点击事件。例如:我必须有一个类似clickOnMapItem(itemId)的函数,它会点击由以下代码定义的map区域{"type":"Feature","id":"05","properties":{"name":"Arkansas","density":56.43},"geometry":{"type":"Polygon","coordinates":[...}其中"id":"05"是我需要点击的id我的其余代码与示例中的代码相同:状态数据.js:varstatesData={"type":"FeatureCol

javascript - 传单在缩放级别计算每像素米数

我正在尝试确定一种方法来计算Leaflet中给定缩放级别和地理中心点下1个像素表示的米数。谁能指导我涉及到的数学问题,或者传单中是否有开箱即用的方法?我在那里找不到太多东西。 最佳答案 您可以使用containerPointToLatLngL.Map的转换函数,用于获取给定像素坐标的latLng坐标。如果你取第一个像素和下一个像素,你可以使用distanceToL.LatLng的实用方法来计算它们之间的距离(以米为单位)。看下面代码(假设map是L.Map的一个实例):varcenterLatLng=map.getCenter();