我正在尝试获取多边形的面积测量值,以便我可以将它们列在map一侧的表格中,紧挨着多边形的名称。这是我尝试过但没有成功的方法:$("#polygon").on("click",function(){createPolygon=newL.Draw.Polygon(map,drawControl.options.polygon);createPolygon.enable();}varpolygon=newL.featureGroup();map.on('draw:created',function(e){vartype=e.layerType,layer=e.layer;if(type===
我正在尝试像这样定义一堆Leaflet多边形:varpoly=newL.Polygon([[10.1840229,36.8906981],[10.1840393,36.8906669],[10.1840989,36.8906868],[10.1840826,36.890718],[10.1840229,36.8906981]],{'id':'someId'});然后我将这些多边形分组到一个GroupLayer中:vargroup=newL.LayerGroup([poly1,poly2,...,polyn]);group.addTo(map);我可以使用group.getLayer()
我正在尝试使用Leaflet获取用户右击某处的map坐标。我一直在研究LeafletAPI,到目前为止,我发现我需要监听contextmenu事件并使用mouseEventToLatLngmethod单击时获取坐标。但是,当我检查并调试我的代码时,我在任何地方都看不到可访问的latLng变量。我错过了API中的某些内容吗?functionsetMarkers(){document.getElementById("transitmap").addEventListener("contextmenu",function(event){//Preventthebrowser'scontext
如果我使用以下代码从指定的Lat/Lng获取LayerPoint:varlatLng=newL.latLng(-37.81303878836989,144.97421264648438);varpoint=map.latLngToLayerPoint(latLng);输出如下:o.Pointx:86042y:77065然后,当我尝试使用以下URL访问图层图block时:http://a.tile.osm.org/10/86042/77065.png我收到404,因为它是无效的X、Y。现在,如果我使用以下代码:map.on("click",function(e){console.log(
是否可以在鼠标点击时获取矩形的坐标,从而得到矩形的所有Angular? 最佳答案 查看事件对象(http://leafletjs.com/reference.html#event-objects):varmap=L.map('map').setView([53.902257,27.561640],13);L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);varbounds=[[53.912257,27.581640],[53.902
我玩过leaflet.js,发现它对于一个包含大约200个圆圈的简单矢量图层来说非常慢。第一页加载需要几秒钟,而且或多或少无法缩放或滚动map,页面的react非常慢。由于我见过更复杂的传单示例,我很确定我做错了什么。这是我的测试页面的代码:varpoints=[[48.538385,11.166186],...];varmap=L.map('map').setView([51.0,10.20],6);mapLink='OpenStreetMap';L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',{attr
我正在尝试使用leaflet.js构建map应用程序,但我不知道如何使用.off方法。该文档没有任何示例,我似乎无法在网上找到任何其他地方。我已将问题提炼成更简单的代码块,这样我的问题就更清楚了。基本上我已经设置好了,当您点击“启用点击”链接时,它会添加一个事件监听器,每次您点击它时都会向map添加一个标记。当您单击“禁用点击”时,我想删除该事件监听器。Hereisalinktothedemo这是我现在的代码。$(document).ready(function(){varmap,cloudmade,sanAntonio,polygonPointsmap=newL.Map('map')
我有一张传单map,我在其中动态添加标记。除了单击标记时,我还想在将鼠标悬停在标记上时调用标记的弹出窗口。我的代码是:functionmakeMarker(){varMarker=L.marker...Marker.on('mouseover',function(){Marker.bindPopup('HI').openPopup();});Marker.on('mouseout',function(){Marker.closePopup();});}如果我注释掉mouseout行,则会出现弹出窗口,但我必须单击别处才能关闭它。问题是当我放入mouseout时,当光标悬停在标记上时,光
以前的开发人员在页面上使用Leaflet创建了map。Javascript非常复杂,我找不到Leafletmap实例化的位置。但是,我知道哪个DOM元素与map关联。有什么办法可以从元素的id中得到Leafletmap对象吗?即,元素id是#city-map。L.map('city-map')返回Error:Mapcontainerisalreadyinitialized. 最佳答案 否:Leaflet不会设置从DOM元素返回到map对象的引用,因为这很容易导致内存泄漏。并且L.map总是创建一个新map-它找不到您可能期望来自jQ
对于我正在进行的一个小项目,我需要能够在leaflet.js支持的图像map上放置一个标记,并在它被拖动时更新该标记的位置。我使用下面的代码来尝试这个,但它失败了。我收到错误“标记未定义”。我不知道为什么它不起作用-也许你们可以帮助我?;)functiononMapClick(e){gib_uni();marker=newL.marker(e.latlng,{id:uni,icon:redIcon,draggable:'true'};map.addLayer(marker);};marker.on('dragend',function(event){varmarker=event.ta