草庐IT

javascript - 将鼠标悬停在多个标记 leaflet.js 上的弹出窗口上?

所以我有一张带有很多标记的传单map。我想在标记上“悬停”时弹出一个带有Assets状态等的弹出窗口。我在谷歌上看到了一些例子并尝试实现但没有一个是触发任何事件。这是我尝试的代码。我怎样才能实现这个功能?我必须使用某种工具提示而不是弹出窗口吗?buildMarkerLayer=(rawAssetsObjects)=>{letmarkersGroup=null;varself=this;markersGroup=L.markerClusterGroup({spiderfyOnMaxZoom:true,showCoverageOnHover:true,zoomToBoundsOnClick

javascript - 如何在传单中显示由 geojson-vt 生成的矢量图 block ?

我有很多GeoJSON空间数据要显示在传单map上。大约35,000个GeoJSON对象。因为积分的数量会很大,所以我想用geojson-vt用于在客户端平铺我的数据的库。现在我已经使用geojson-vt库成功地平铺了我的数据:vargeoJson={};//RequesttogetdataviaAPIcallnotshownherevartileOptions={maxZoom:18,tolerance:5,extent:4096,buffer:64,debug:0,indexMaxZoom:0,indexMaxPoints:100000,};vartileIndex=geojso

javascript - 如何在 Shiny 中保存带有绘制形状/点的传单 map ?

此问题是问题HowtosavealeafletmapinShiny的后续问题,和SaveleafletmapinShiny.我在leaflet.extras包中添加了一个工具栏来在map上绘制形状/点,即addDrawToolbar。这让用户可以交互式地绘制线条、形状……。最后,我希望能够将带有绘制形状的map保存为pdf或png。我使用问题的答案编写了以下代码:HowtosavealeafletmapinShiny.但这无助于实现我的目标。有没有人可以帮助我?library(shiny)library(leaflet)library(leaflet.extras)library(ma

javascript - 传单 - 寻找将 onEachFeature 添加到现有 geojson 层的方法

我正在处理传单中的geojson数据。在他们的指南中http://leafletjs.com/examples/geojson.html他们写道,有两种方法可以将geojson数据添加到map中:“GeoJSON对象通过GeoJSON图层添加到map。要创建它并将其添加到map,我们可以使用以下代码:”L.geoJson(geojsonFeature).addTo(map);“或者,我们可以创建一个空的GeoJSON层并将其分配给一个变量,以便我们稍后可以向其添加更多功能。”varmyLayer=L.geoJson().addTo(map);myLayer.addData(geojso

javascript - Leaflet getBounds() 返回大于 180 的经度

我提出了一个问题,作者在Github上关闭了它,但我仍然没有结论。经度范围从-180到180。但有时,Leaflet从getBounds()返回经度,如474.2578215,当然我的数据库中没有任何返回。有人告诉我:这是有意为之的行为。当您将map缩小得太远和/或将map拖到世界的另一个副本时会发生这种情况,并且默认情况下不会包裹getBounds经度。您可以使用LatLngwrap方法来获得您想要的东西——例如bounds.getSouthWest().wrap().好的。所以我在那里添加了wrap方法,并返回了正确的数据,但现在map上不会显示任何标记。这可能是由于标记位置不在那

javascript - leaflet Js 自定义控制按钮添加(文本、悬停)

我关注了thiscontrol-button-leaflettutorial它对我有用。现在我想:当我将鼠标悬停在按钮上时显示一些文本(就像使用缩放按钮一样)将鼠标悬停在按钮上时更改按钮的颜色能够在按钮而不是图像中写入文本。代码如下:varcustomControl=L.Control.extend({options:{position:'topleft'},onAdd:function(map){varcontainer=L.DomUtil.create('div','leaflet-barleaflet-controlleaflet-control-custom');contain

javascript - 如何使用 leaflet.draw 从多边形获取区域字符串

我正在尝试获取多边形的面积测量值,以便我可以将它们列在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===

javascript - 在 Leaflet LayerGroup 中查找特定图层,其中图层是多边形

我正在尝试像这样定义一堆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()

javascript - 在传单中获取当前 map 范围内的标记/图层列表

这与提出的问题有点相似here--我正在为map应用程序编写一个搜索框,它会立即从服务器检索一整套搜索结果(人名和信息),然后翻阅结果列表。因此,在map上的任何给定点都有两种标记-背景标记用于搜索结果中但不在当前页面中的点,以及前景标记用于搜索结果当前页面中的点。所有这一切都很好地工作..我现在想做的是设置它,以便如果用户缩放或平移map,搜索结果列表会更新以仅显示当前map范围内的标记。显然有服务器端的方法可以做到这一点,或者我也可以遍历整个标记列表以查看哪些适合当前范围;但是有人知道在传单中执行此操作的内置方法吗?看起来像map.getVisibleLayers()的东西?

javascript - 传单 : Firing an event when bounds change

我正在使用leaflet开发一个新的应用程序。您可以对应用程序有所了解here.我想在map边界发生变化时触发一个事件。我查看了文档,但找不到与此相关的任何内容。我找到了getBounds()方法,以及可能的列表eventmethods,但没有结合两者。我看到的唯一另一种可能性是检查鼠标拖动和滚动事件并每次都检查边界。但我希望有更好的事情要做。你有更好的主意吗?谢谢! 最佳答案 每次移动map(通过平移或缩放)时,map边界都会更新。所以你可以为你的目的使用moveend事件map.on('moveend',function(e){