我必须在传单地图上显示5x5度饼图。我可以使用great library显示饼图,但我必须以像素为单位提供半径,到目前为止它是静态的
我想让它动态,以便在任何缩放级别,饼图填充5x5正方形(也称为半径=5x5度长度)
根据缩放级别,如何知道5x5度正方形侧面的长度(以像素为单位)
谢谢我使用了以下页面,根据缩放级别提供传单地图上每米像素数:
然后我计算了赤道上一个5x5平方米的长度:556000米。
然后我存储缩放级别的长度比=0:
$scope.lengthRatio=556000/1564
我正在使用传单(CloudMake)简单项目()的默认设置
我有一个1300记录的CSV显示良好,并点击属性显示文本弹出窗口
其中两个字段是指向小JPG图像的URL。我想这些显示在弹出窗口。我试过了,但没用
链接到项目:
如何显示图像?您是否尝试过使用标记而不是?它们是链接,因为它们是作为链接编写的。或者你可以做别忘了玩img标签的样式。高度和宽度。是的,我目前有:并且有硬连接url,我只在弹出框中看到断开的图像图标。
我试着做一个函数,当你到达标记10米半径范围内时,调用一个事件。有什么好的插件或命令吗
我已经看到了一个distanceTo(),但还没有找到任何好的例子或教程
提前感谢,,
Calle我对distanceTo()方法的理解是,它返回从当前位置到给定点的距离。这需要您知道要测量到的距离的点,您可以通过迭代所有标记点并计算到当前标记位置的距离来实现这一点,但是如果您有很多标记,这可能需要一段时间
我建议使用插件,如中所述
如果这对您不起作用,并且您愿意尝试一种笨拙的解决方案,您可以始终在标记层下设
我的地图上有一个自定义控件,该控件具有以下属性:
position: "topright"
这会将其放置在与默认图层控件相同的位置。但是,我的自定义控件放置在图层控件的上方。我如何指定哪个应该在顶部?上的文档没有提到如果多个用户占用同一位置,该怎么办
我的地图初始化如下:
var map = L.map('map', {
center: [0.0, 0.0],
zoom: 2
});
map.addControl(new L.Control.Cluster())
L.Con
我的地图盒/传单地图顶部有一个100px的填充物(部分被覆盖)
当使用getBounds()检查带有bounds.contains(marker.coords)的标记时,不应包括覆盖区域中可见的标记
我只能找到一种按百分比填充LngLatBounds的方法,是否有一种类似于fitBounds选项的方法,您可以指定paddingTopLeft而不是获取贴图边界,运行两次,指定点(相对于贴图的容器),类似于[0,100]用于左上角,容器尺寸用于右下角
然后,用这两个调用的结果创建一个新的L.LatL
标签: Leaflet
angular-leaflet-directive
我一直在尝试添加一个逻辑,当您开始围绕标记拖动地图时,它将停留在地图的中心,然后返回新位置的纬度和液化天然气。请看看我所做的一切,谢谢
当地图按如下方式移动时,可以更新标记位置(在地图上居中):
$scope.$on('leafletDirectiveMap.drag', function(event,args){
//get the Leaflet map from the triggered event.
var map = args.leafletEven
我可以在单张地图中使用开放路线服务api吗?我找不到工作示例来说明如何在地图上集成api键。现在我使用的是graphhopper,它的工作非常完美,但现在它限制使用最多5分。
当我试图通过开放式路由服务创建航路点时,我显示了以下错误:uncaughttypeerror:L.Routing.openrouteservice不是构造函数
我的代码:
我不知道openrouteservice是否与传单传送机配合使用,但我尝试了MapBox,一切都很好。所以现在我的地图支持步行方向
普通宣传单张
正
我正在尝试使用矢量网格插件设计传单上的矢量瓷砖。矢量图块来自我自己的服务器
然而,当我尝试使用vector grid插件指定样式时,我得到一个错误未实现类型4
我怎样才能摆脱这个错误呢?任何插件链接或文档都将非常有用
谢谢可能是@Ivan Sanchez的副本。这两个问题有些不同。当我尝试使用vector grid插件集成服务器上托管的矢量平铺的样式时,我使用的是以下格式的style.json()。然而,我用传单代替地图盒。
我使用define和@NAmdConfig成功地添加了外部库。然而,有一个库是传单,有几个插件我无法使用它
通常你使用带有“L”的传单,但添加一个插件你可以做像L.Geodesic这样的事情。这样做会得到错误“L.Geodesic不是构造函数。”
如果我自己定义测地线并使用它,我会在初始化它之前得到一个关于使用它的错误
我真的不确定链接这个的正确方式。我对maki标记也有同样的问题,但它太小了,我只需将匿名函数添加到我的客户机脚本中,就可以让它工作(如果库得到更新,这并不理想)
define([
到目前为止,我已经为此损失了一天时间。我有一个传说,它会掩盖我(AngualrJs)传单地图的大部分,所以我不希望它永久可见
我想这意味着一个工具提示,尽管一个可点击的按钮也可以接受(缺点:需要点击打开,一个按钮关闭)
有很多很多尝试来回答这个问题,甚至有一个,这将是理想的,但对我不起作用,可能是因为使用了AngualrJ或传单的版本
我发现的大多数解决方案似乎都使用HML和CSS在地图上定位按钮,但我更喜欢地图的一部分
有一个实际可行的答案但是,如果我把最简单的HTML放进去,它就会呈现为纯文
标签: Leaflet
openstreetmappolylinereact-leaflet
我想做一些事情,比如在我的网页谷歌地图的交通状况,我使用反应和传单(反应传单)在前端。我在城市里有数百万个点,格式像[纬度,经度,方位,速度]
我试图盲目地将数据绘制为标记或多段线,当然,浏览器加载似乎要花很长时间
似乎我需要完成以下任务,但我不知道如何实现这些任务:
从某处获取道路信息(在openstreet地图中是否称为“道路”)
找到一些算法将点映射到道路
平均每个路段的点速度,但保持方向不变
根据路段绘制直线
是否有人能为我指出一些如何实现这些目标的方向,特别是1和2?非常感谢。您描述的
我不明白为什么,但每次我打开一个弹出窗口,弹出窗口比屏幕大,或者我把它的锚移离屏幕,弹出窗口就会关闭。我现在就测试了它,当传单.markercluster发挥作用时就会发生这种情况。运行此代码段以了解我的意思
带传单。标记聚类
打开时弹出窗口关闭
var-map=L.map('map').setView([38,-8],7)
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
var mar
我更新了传单提升示例gpx,只是更改了gox名称,在Win7或OSX以及Safari或Chrome上本地工作。什么也没出现。
var map=新的L.map'map';
var url='1〕http://otile{s} .mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpeg',
attr='Tiles由—地图资料及复印件;贡献者,',
服务=新的L.TileLayerurl,{子域:1234,属性:attr};
var el=L.控制标高;
el.
我已经尽了最大努力从不同的答案中找到解决方案,但我的问题仍然存在。
地图显示不正确。灰色边框几乎占据了边框的3/4。
var map=L.map('map',{scrollWheelZoom:false});
map.setView(,16);
marker=L.marker().addTo(map);
L.tileLayer('http://a.tile.osm.org/{z} /{x}/{y}.png'{
归属:“您的归属声明”,
maxZoom:20,
子域:“”,
}).addTo(
我正试图融入我的项目,这是使用传单。如果我看一下,我不得不相信这是可行的,但是,我想在一个状态下加载地图,即彼此接近的标记被消耗掉,而不必单击任何组。然而,从文档中我看不出这是如何做到的,我也担心缩放事件,因为演示会在任何缩放事件上折叠组
所以,我的问题如下:如何在地图加载时使用重叠标记器展开传单的所有组,并在地图缩放时重新计算
编辑:
这就是我试图使用它的方式:
var omsOptions = {
keepSpiderfied: true,
nearbyDistance: 3
我不知道如何在传单工具提示上包装文字。我不想显示标记使其隐藏,但我希望尽可能将文本包装在工具提示中
.myTooltip {
background: green;
border: 2px solid cyan
}
.leaflet-tooltip-left.myTooltip::before {
border-left-color: cyan;
}
.leaflet-tooltip-right.myTooltip::before {
border-right-color: re
注意:同时发布到
我正在尝试为传单绘制工具栏添加自定义图标。但我似乎不知道怎么做
如图所示,我有两个标记。目标是更改工具栏中的一个图标。我的代码如下:
L.DrawToolbar.include({
getModeHandlers: function (map) {
return [
{
enabled: true,
我正在我的项目中使用。我目前正在加载Bing地图的鸟瞰图和道路视图。现在,我还想在我的应用程序中加载Bing地图街边视图,类似于。如何使用传单的插件实现这一点。街道侧视图与正交墨卡托瓷砖层(它是球形全景图,不是平面投影图像)完全不同,并且不能显示在传单中。获取街道侧视图的唯一受支持的方法是使用bing地图控件(该控件还应支持传单提供的所有功能和视图)。街道侧视图与正交墨卡托瓷砖层(它是球形全景图,而不是平面投影图像)完全不同,并且不能显示在传单中。获取街道侧视图的唯一受支持的方法是使用bing地
我必须在传单应用程序上加载KML层。经过一番浏览,我发现一个叫做传单kml的图书馆就是这样做的。有两种方法可以加载KML层:通过KML层的URI或KML字符串。KML存储在服务器中,我有一个后端代码来检索URI和字符串表示
下面是使用URI的方法
function LoadKML(containerName, name)
{
let kmlURL = GetKmlURI(containerName, name);
let kmlLayer = new L.KML(kmlU
我正在使用传单和地图盒的瓷砖层
据我所知,我不使用mapbox.js是件好事,因为它的支持不再活跃。所以我用传单
现在,如果我想切换到map loads/vector tiles/webgl而不是按tile请求定价,我应该怎么做?我应该停止使用传单并开始使用Mapbox GL JS吗?或者我可以使用Mapbox的GL瓷砖,将其放入传单的瓷砖中,就这样 如果需要页面加载定价,则需要使用Mapbox GL JS 1.0版或更高版本。如果需要页面加载定价,则需要使用Mapbox GL JS 1.0版或
我有使用传单和开放街道地图的示例代码。然而,我不确定如何添加更多的标记。此外,我并不真正理解设置视图功能的意义,我读到它是用于居中地图,但既然只有一个标记,应该自动作为地图的中心点,那么拥有它又有什么意义呢,另一方面,如果会有更多的标记,那么setView的感觉是什么
附加问题:传单和开放式街道地图是否免费用于商业用途
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="htt
我正在尝试使用shp write将Geojson转换为压缩的形状文件。
但是当我遵循GitHub页面上给出的示例时
我在这一行收到一个“ReferenceError:require未定义”错误:
var shpwrite = require('shp-write');
此问题发布在,但我无法访问更新的文件
有人能帮我吗
谢谢。请检查参考问题-没有更新的文件,您需要遵循答案。请检查参考问题-没有更新的文件,您需要遵循答案。
我正在使用由QGis生成的网络地图,但是数据文件非常繁重,地图需要很长时间才能加载,而且导航是不可能的。如何解决这个问题?不要使用geojson,获取小而快速的png图块来加载!你能给我一些示例url吗?谢谢搜寻WMS及单张
我有一个传单特征矩形,我需要实际地画另一个方形矩形。看到了吗?我需要计算的是虚线矩形
可能的解决方案
获取矩形的中心从中心创建新的4点绘制矩形
我想还有其他更好的解决办法吗
从正方形顶点到矩形中心的距离为
d = rect_width / 2 + rect_height / 2
所以他们的坐标是
rect_center_x + d; rect_center_y
rect_center_x; rect_center_y - d
rect_center_x - d; rect_center
有没有办法使地图精确地符合边界?(或尽可能靠近)
例如,在这个JSFIDLE中,即使没有填充贴图,也会在点的上方和下方留下大量填充:
map.fitbunds(边界);
$('#fit1')。单击(函数(){map.fitBounds(bounds);});
$('#fit2')。单击(function(){map.fitBounds(bounds,{padding:[50,50]});});
我正在尝试将贴图尽可能精确地拟合到一组边界,这些边界与贴图形状非常匹配,而无需所有额外的填充
设置
是否可以使用传单.js或mapbox.js确定标记所在的地形/地图类型。。例如海洋、陆地、道路或建筑物
如果您正在使用构建自己的地图,您可以通过互动性来实现这一点:您不必显示弹出窗口,而是可以使用UTFGrid作为键/值存储来指示地图上点击的区域 这不是传单JS包中提供的方法(据我所知)
但是,您可以将传单地图与组合,以返回位置\u类型,这将告诉您所完成的地形特征类型
它不是完美的,但应该给你你想要的细节层次
$.getJSON('http://maps.googleapis.com/maps
由于某种原因,我的地图上有一个很大的灰色区域,直到我移动它,它才会出现
但乍一看,有一部分不见了。我以前在网络上看到过很多这样的情况,但直到现在我才知道如何修复它
这是一个使用MarkerClusterGroup for clusters的简单映射框映射
以下是屏幕截图和页面链接:
所以我想知道,对于这种行为,有没有已知的简单解决方法
如果需要,我可以添加代码段
谢谢,祝你今天愉快 自初始化以来,映射元素大小似乎已更改,您没有使其无效
您是否更改了可见性(例如display:nonestyl
我正在尝试将一个函数绑定到传单弹出窗口中的锚定标记链接,但似乎您无法使用传单执行此操作。我想将一个单击函数绑定到一个ID或类,该ID或类打开一个jquery对话框/模式,其中包含更多信息
有没有其他解决办法
谢谢 请阅读以下文档:由于传单的弹出窗口仅在用户单击某个功能时创建,因此您无法立即绑定其内容上的事件,因为它们还不存在。如果将.on与选择器一起使用,则可以在事件发生时绑定到该事件。只是一些说明。。您的意思是将.on函数附加到bindpopup(“内容…”)的末尾吗?还是我误解了?这里有一个
我正在尝试用传单制作离线地图
对于数据保存,用户可以选择不保存所有ZoomLevel。例如,用户具有ZoomLevel:
-15和17
现在的问题是,当用户从15级放大到16级时
如何在从16缩放时显示级别15(或17)层
另一种选择是跳过zoomlevel 16,但也许还有另一种选择?
我查阅了传单上的源代码,但我搞不懂
带有跳过zoomlevel的插件(Ilja Zverev)
HTML
<div id="map"></div>
<div id="out"&g
他们要求我提供一个“切换按钮”来打开和关闭集群。有人能帮我打开/关闭集群吗
注意:加载超过30000个点创建两个层,一个带标记聚类,一个不带标记聚类,并将它们添加到传单控件中。例如:
var littleton = L.marker([39.61, -105.02]).bindPopup('This is Littleton, CO.'),
denver = L.marker([39.74, -104.99]).bindPopup('This is Denver, CO.'),
auror
我需要在传单地图上的一个点周围画一个矩形。这一点是一对[lat,lon]。我怎么能轻松做到这一点?我知道画圆很容易。但是如何绘制矩形呢?下面的代码计算出矩形的坐标,然后将其添加到地图中
var latLng = L.latLng(your_coordinates);
var currentPoint = map.latLngToContainerPoint(latLng);
var width = 20;
var height = 15;
var xDif
我是gps坐标跟踪装置。我需要从设备的起始位置到最近接收到的gps位置实时绘制地图。我尝试使用map.fitbounds();但却无法实现。
有人能帮忙吗
for(markersArray){
var southWest = L.latLng(markers[0].lat, markers[0].lng); // starting marker
var northEast = L.latLng(parseFloat(preciseLat), parseFloat(preciseLng));
在传单中创建圆时,可以指定缩放的宽度(即缩小时,圆“更小”,与它所覆盖的场地保持比例)
创建圆标记器时,结果是一个不缩放的圆。如何使圆圈标记器的刻度与标准圆圈相似
如果不可能,如何创建一组圆来达到相同的效果?L.CircleMarler具有固定的半径(以像素为单位),可用于任何缩放
但是您可以为任何实现ILayer接口的类创建L.layerGroup,包括L.Circle。例如:
L.layerGroup([L.circle([0, 0], 200000), L.circle([50, 50],
标签: Leaflet
angular-leaflet-directivedc.leaflet.js
我正在使用传单api。我在其中添加了标记的自定义控件
我有一个按钮,可以移除所有标记
问题
通过包装,我必须删除所有标记,但功能不工作…浏览器没有给出任何控制台错误,所以我一无所知,没有完全理解api的结构
脚本
var markers = new L.FeatureGroup();
map.on('click', function markerPlace(e) {
//L.marker(e.latlng, { ic
我有3个层,一个GeoJSON用于传单绘制,两个(矢量和画布/热图)仅显示覆盖
我的问题是,稍后会使用层控件动态添加覆盖,而GeoJSON层始终存在。添加覆盖层后,一些绘图功能和与GeoJSON图层顶部的一般交互将起作用,因为我的覆盖层始终位于顶部
如何将GeoJSON层恢复到前端?
使用layer.bringToFront()不起作用。如果层是通过层控件添加的,您可以在每次触发overlayadd事件时使用.bringToFront()将GeoJSON层撞回,使其保持在顶部:
map.on('
我有一个项目是关于传单JS的。
例如,我在地图上有2个点(A,B)。我将它显示为两个标记
我必须从a到B画一条多段线。
我移动了标记A,并希望标记A的多段线的头部与标记A匹配(跟随标记A移动)。
我该怎么做?
对不起,我的英语不好。
非常感谢大家
Truong M.给定以下L.Latlng,L.Marker,以及L.Polyline:
var a = new L.LatLng(-45, -90),
b = new L.LatLng(45, 0),
c = new L.LatLng
该应用程序使用带有传单Js的mapbox。
有一个location found事件的回调,我们用用户的位置设置了一个标记
我希望地图能够根据用户的位置旋转,就像指南针一样
有什么方法可以做到这一点吗?单张目前还不支持地图旋转,也不支持透视。看
我做了一些这方面的工作,但这仍然是一种实验,很容易打破。我不认为它会成为传单的核心,因为WebGL是一种比CSS转换(这就是rotate分支的目的)更有希望(从长远来看也不那么混乱)在地图旋转中获得更好结果的方法。谢谢Ivan,你知道mapbox原生API
我正在尝试使用dc.js制作一个仪表板。它有几张图表和一张图表。这一切都很好,但我需要在地图上添加传单。我遵循并使用了dc.ployate.jslibrary,但它不返回choroplethChart,而是返回标记(见图)
(这是使用传单前的样子)
代码如下所示:
我不是这里的专家,但choropleth希望得到的是地图数据而不是点数据。geojson中的功能包括:
{
"crs": {
"properties": {
"name": "urn:o
我们使用传单上的标准。实例化如下:
this.controls[id] = L.control.layers({}, {}, {
collapsed: false
});
层是以随机顺序动态添加的(取决于xhr请求何时完成)。然而,传单隐式似乎在层控件中使用相应层的_-传单_id进行排序,因此我们的层以随机顺序出现
有没有办法告诉传单在控件中显示图层的顺序?例如,在调用.addOverlay或.addBaseLayer方法时传递一些附加参数
传单版本是1.0-dev我找到了一些解决问题的
我通过调用var-map=L.map('传单',选项)创建了传单图但这只会使对象充满下划线前缀的私有值:
Object.keys(map) === ["options", "_container", "_leaflet_id", "_containerId", `"_fadeAnimated", "_panes", "_paneRenderers", "_mapPane", "_controlCorners", "_controlContainer", "_onResize", "_target
我正试图在地图上找到我的观点的正确位置,如:
let point = L.point(0,0) // x=0,y=0
let latlng = map.unproject(point)
但是latlng值不是实际位置
我缺少什么?函数:unproject不正确
您应该使用:layerpointtolatng:
let point = L.point(0,0); // x=0,y=0
let latlng = map.layerPointToLatLng(point);
问候
雷切尔
我在index.html中有这个模式:
&时代;
是传单地图
然后我有一个函数,它应该将传单映射加载到modal中。参数图像是我想在传单地图上显示的图像
function modalImage(模态、图像、模态、文本、关闭){
//获取模态
var modal=document.getElementById(modal);
var img=document.getElementById(图像);
var modalDiv=document.getElementById(modalDiv);
我正在使用带有OpenStreetMap平铺层的传单,它在页面上正确显示地图,但若我在jQuery UI弹出窗口中显示地图,则地图不会正确显示。贴图平铺未正确对齐。但当我在F12打开控制台的情况下开始调试时,贴图得到了正确的渲染。我不知道怎么会这样
图片:
我的代码:
document.getElementById('mapdiv').innerHTML = "<button type='button' onclick='recenterMap("+lat+","+lng+")'>
我的传单地图上有一个标记
marker = new L.Marker([lat,lon],{icon:flagIcon,title: "Drage me to change your location"}).addTo(map);
marker.dragging.enable();
marker.on('dragend', function(e){
var coords = e.target.getLat
标签: Leaflet
react-leafletangular-leaflet-directiveleaflet.markercluster
在我的angualr项目中,我创建了带有传单的地图,并创建了半径为5km的圆,坐标来自后端。类似于:
"drone1": {
"Drone": {
"Droneid": 1001,
"latlong": [
{
"lat": 12.97
加载页面后放大时,会发生以下情况:
(我用鼠标滚轮放大缩小)
然而,在我用鼠标移动地图一点之后,问题就消失了,所有的功能都很完美。。。直到我重新加载页面
有人知道为什么会这样吗
在这里,我成功地重新创建了问题:(首次加载后刷新预览窗口以查看问题)
这是阵列国家的一部分:
countries = [
["neutral_zone_iraq", neutral_zone, "1935_10_03", "neutral_zone", nu
我有一张伦敦地区的地图,基于地图区域的边界,我接收到由开始/结束lat lngs组成的JSON,然后我想在地图上绘制它。为此,我使用了多段线,效果非常好,多段线绘制得非常完美,但由于某些原因,它的大小与地图的原始大小相比非常小。请看下面的图片,例如,它是在完美的形状作为高速公路线粗蓝线,但较小的大小和一个角落。谁能告诉我我做错了什么
代码
好吧,我想出来了。。。经过长时间的调查,发现不知何故css并没有让它长到全尺寸,因为它的宽度和高度是固定的。。。很抱歉浪费了你所有的时间。。。感谢您的尝试和帮
我在一个数组中循环并在地图上加载标记。如果移动了标记,我想更新数组元素的坐标
到目前为止,我的代码如下:
var-m;
对于(变量i=0;i
我的问题是我不能删除每个复选框的图层,我已经发布了这个问题,不幸的是我没有得到任何答案。我现在尝试使用图层组,我为每个单击的复选框添加图层,但当我尝试删除每个图层时,它会删除最后一个图层,因此我注意到图层未添加到图层组。那么,换句话说,如何动态地将层添加到层组中呢
如何在每次单击给定复选框时添加图层?你能帮我找出问题所在吗?感谢您的帮助。下面是一段代码:
php文件:
$(文档).ready(函数(){
$('input[id^=“DisplayCheckbox”]”)。在('click',
我已经阅读了turp.js pointsWithinPolygon上的docu,并理解它需要一个数组。我知道我想要完成什么,但我不确定如何正确地转换我的L.geoJSON层以满足数组条件。请原谅这种奇怪的格式,因为我最近一直在玩很多,已经失去了一些结构
我的观点是:
var employees2 = L.geoJSON();
Papa.parse('src/data1/Employees.csv', {
h
1 2 3 4 5 6 ...
下一页 最后一页 共 37 页