我想有一个传单层控制,我可以选择一个基本层,并有这个基本层本身是一个层组,我可以选择子层显示。我正在考虑一个设置,我点击一个单选按钮来选择基础层和层组,然后在下面我会看到一个复选框列表,其中显示了哪些层。有没有一种方法可以使用stock Layer控件实现这一点
我查找了一些示例并浏览了传单API,但没有找到类似的内容。目前传单不支持LayerGroup级别以外的层层次结构。您可以使用来实现层控制面板中的一些基本分组,但不是实际的层次结构。我最终编写了自己的控件来实现这一点-没有那么糟糕。如果可
我正在试图弄清楚我是否真的需要使用mapbox.js,或者对于一个映射项目来说,传单是否足够。我们可能会自己托管数据和平铺(而不是底图)
在哪里可以找到mapbox.js提供的功能列表?例如,我知道mapbox.js提供了对UTFGrid和TileJSON的支持
谢谢 Mapbox.js提供了一种方便的方式来使用Mapbox服务(瓷砖、地理编码、标记等),并帮助开发人员自动遵守许可/归属条款。它看起来还添加了一些设计脚手架
中任何前缀为L.mapbox的内容都是自定义的,但传单的所有功能仍然可用
有人能告诉我如何使用地理编码在传单地图上添加多个标记吗?我希望实施两个部分
第一部分是,我可以根据每个标记的地址而不是.json格式的数据文件中的纬度和经度在地图上放置标记吗
下一部分是,一旦使用地理编码将地址放置在地图上,我可以使用反向地理编码检索标记的纬度和经度并存储在文件中吗
请帮我解答这些问题。你有没有试用过任何传单地理编码插件?@IvanSanchez我试图查看这些插件,但没有找到任何东西根据地址加载标记,因为所有插件都提供了使用不同服务(如谷歌、必应等)或点击地图的搜索选项。。有些插
标签: Leaflet
data-visualizationuser-experience
我正在使用divIcons通过图标大小和颜色来可视化一些数据特征,并正在寻找一种方法来扩展重叠标记,以便在加载地图时它们都可见。我不希望这是在实际的成本能够看到准确的位置时,放大,所以我想要一个用户体验解决方案,这样有一个引脚/线从标记标签到实际的点指示的数据
我当前的使用场景是:
由于这是一个反复出现的问题,我正在寻找一种方法来处理这个问题,它不需要手动定位标签或使用实际坐标进行操作
我还想听听其他关于如何处理这个问题的想法。我尝试了集群,这样图标只有在放大时才可见,但它带走了我想要实现的概览
标签: Leaflet
markerclustererleaflet.draw
我正在使用传单和MarkerCluster的最新版本
在地图上绘制多边形后,我想选择其中的所有标记。我知道多边形的边界。而且,我知道标记的坐标
map.on(L.Draw.Event.CREATED, function (e) {
var type = e.layerType,
layer = e.layer;
for (var i = 0; i < markers.length; i++) {
}
editableLayers.addL
标签: Leaflet
leaflet-routing-machine
我在本地设置了OSRM(节点OSRM),它为服务器上的路由生成正确的结果。但是,当我通过传单路由机器从it请求路由时,浏览器中出现以下错误:
leaflet-routing-machine.js:2605 Routing error: Object {status: undefined}status: undefined__proto__: ObjectdefaultErrorHandler
@ leaflet-routing-machine.js:2605fire
@ leaflet-s
我使用连接到Mapbox的传单路由API来显示具有多个航路点的路由。
现在,我必须检索这些航路点之间的距离和时间,以便进行一些计算
我看到api.mapbox.com/directions api(通过传单调用)接收到我的航路点之间的一组航段,以及我需要的所有数据(航段“”距离和持续时间):
我通过“routesfound”事件捕获此结果,但我不从结果集中检索支腿:
{route: {…}, alternatives: Array(0), type: "routeselected", targe
在传单地图中,它将台湾显示为与中国分离的一层。我想在一个网络应用程序中显示中国层下的台湾。如何执行此操作?可能的副本另请参见
我有一个在传单地图上显示多个图层的应用程序。
我从数据库创建GeoJSON,然后从这些GeoJSON创建层,然后将层放在LayerGroup上
在缩放/取消缩放时,我从图层组中添加或删除图层,以仅显示一些图层。
一切都很好,只是有时候,当我拖动地图时,一些元素消失了
拖动前:
向右拖动后:
拖动到原始位置后:
即使我在地图上只放了两层,这种情况也会发生。
我已经测试过不删除图层,而是更改要素样式(填充为0,多边形图层的笔划为0),但没有任何更改。
有人知道是什么导致了这种情况吗?你能创建一
我有一个关于传单/页的问题。我在地图上有多个圆圈。
所有这些圆之间确实有一些重叠。
我想做的是画一条不同颜色的线/多边形,所有的圆在这里相交
这是我想要实现的目标的一部分。蓝线是交叉点,需要不同的颜色。这可能是在叶状体中还是在纯传单中?如果是这样的话,我该怎么做呢?您可以使用库和方法来实现此目的
/*eslint禁用无未定义*/
/**
*与Turpjs的交叉点
*/
//配置图
让配置={
minZoom:7,
maxZomm:18,
};
//地图开始时的放大率
常数缩放=18;
//坐标
我使用的传单显示了使用maperitive创建的脱机平铺。一切正常,但有人知道在请求的磁贴不存在的情况下如何触发错误事件吗?如果无法加载请求的磁贴,可以指定默认磁贴
var myLayer = new L.TileLayer(..., {errorTileUrl: '/path/to/default/tile.png'});
如果加载请求的磁贴时出错,则实际设置默认磁贴。但这并不是我所需要的。我需要它来启动一个活动
传单代码本身非常简单
L.tileLayer('http://{s}.tile
我们开发了一个网页,在地图上显示一个国家的卫生设施位置。我们用传单展示地图。实际上,我们不需要在后台显示在线地图分幅。如果我们只能显示矢量国家地图,那也可以。我开始知道,可以下载瓷砖,并保存在传单等离线,但不感兴趣的方向
我想要的东西有很多种
使用传单但不显示世界地图在线互动程序的位置。但是代码很难理解。有什么简单的例子或指导来做我需要的吗?这实际上在使用图层时非常简单。首先,您需要为要显示的区域找到正确的GeoJSON。例如,以下是一些针对美国的:。接下来,按照通常的做法创建地图:
var m
我正在显示一张使用gdal2tiles.py平铺的地图(-p graster)。X坐标约为[0..-1160]。由于某种原因,Y坐标为[-700,0]。缩放级别0-5
我简直无法让一个看似合理的展示发挥作用。有时,如果我缩小到零级,我会看到地图在显示屏底部向下。。。没有居中。在其他级别上根本没有显示任何内容
我还看到显示屏在大约3点和6点位置之间“来回反弹”。(再次,仅在缩放级别为零时。)
我束手无策。请给予指导。完整的例子。任何事…嗯,我找到了我的答案:
如果要在传单贴图中使用多个图层,请使用
我有一个包含几个标记的要素组
我有这个代码来响应点击任何标记:
sampleFeatureGroup.on("click", function(){
alert(this.id); // something like this
});
我希望能够从函数中获取单击的标记的id,但是“this”指的是功能组,因此我找不到单击的标记的id,这似乎很容易,但我无法理解。您必须使用每一层迭代功能组,然后将函数绑定到click事件,如下所示:
g
我使用传单中的点列表绘制了一条多段线。这是密码
road= new L.Polyline(pointList, {
color: color,
weight: 10,
lineCap:"square",
lineJoin:"bevel",
opacity: 0.6,
smoothFactor: 1
});
我需要在鼠标悬停时将此多段线的颜色更改为绿色。我正在使用以下代码。但它不起作用
road.on('mouseover', funct
我需要取消在传单可编辑插件绘图和删除地图层
map.on('editable:drawing:cancel', function (e) {
map.removeLayer(e.layer);
});
var onKeyDown = function (e) {
if (e.keyCode == 27) { // esc button
if (!this.editTools._drawingEditor) return;
map.editToo
感谢您提供一些帮助,了解为什么ESRI瓷砖层不载入传单?它在OpenLayers中加载,当然也在使用ESRI JS API时加载,但我想使用传单
这是带有瓷砖层url的标准传单“快速入门”示例。我已经尝试了许多选项,包括图层和贴图构造器,以及强制贴图调整大小和重画等等,但我无法让它工作
<html>
<head>
<meta charset=utf-8 />
<title>Esri Leaflet Quickstart</title&
当您放大地图时,我会添加Dynamicalyers传单Esri。然而,我想删除它们,它不工作,它不会给出任何错误,但它不工作。我尝试mapConsultaView.removeLayer(layer2)
/===================================================================================================================================================
我对传单和文档的阅读表明,为了使用带有传单的定制瓷砖供应商,只需做两件事:
在L.tilelayer(urlTemplateToTileProvider)
将此提供程序设置为MapZen
var urlTemplateToTileProvider=
'http://tile.mapzen.com/mapzen/vector/v1/all/{z} /{x}/{y}.mvt?api_key=apiKey'
然而,当我尝试这一点时,我得到了一个空的地图,然后继续正确地显示标记等。还有一个手动测试生成
我正在构建一个传单插件,可以在传单地图中添加/删除图层。我的插件需要知道给定的层是否在屏幕上可见。到目前为止,我提出了以下标准,层必须满足这些标准才能被视为“可见”:
必须将其添加到地图中。(这就是我的情况。)
它必须在有效的缩放范围内。(这也是一个问题。)
它必须在当前范围/边界内可见。
第三个标准是我难以检查的标准。我的图层是各种不同的图层。我知道我可以使用map.getBounds().contains(…)检查给定点或矩形是否包含在地图的可见边界内,但我的问题是我不确定如何将Esri
我正在将边界对象传递给地图组件()上的边界道具
我希望它使用边界来居中并设置缩放(就像默认情况下那样),但带有偏移(就像工具提示一样),以允许用户部分进行一些微调
我从以下方面得到了界限:
L.geoJson(currentZone.geoJson).getBounds();
您可以为boundsOptions传递一个配置对象,以数组的形式设置paddingtoplft、paddingBottomRight或padding
传单文件:
反应传单文档:
<Map
... at
我有一个线性数据的geoJSON,它正确地显示在我的地图上。我想做的是使用moulate.pm或moulate.draw,它允许您在地图上绘制一个矩形。在地图上绘制矩形时,我希望它显示矩形内的geoJSON数据。有关于我如何做到这一点的例子吗
以下是geoJSON的一个示例:
{
"type": "FeatureCollection",
"name": "RoadSearch",
"crs": { "type": "name", "properties": { "name": "urn:ogc:
我的问题与类似,但我想删除保存选项,而不是全部清除。好吧,draw api没有提供定制来实现这一点。所以我添加了一个自定义css来隐藏它
除此之外,我们还可以定制插件,如下所示:
要更改文本,请执行以下操作:
L.drawLocal.edit.toolbar.actions.clearAll.text=t('Clear')
要覆盖清除方法,请执行以下操作:
L.EditToolbar.Delete.prototype._enableLayerDelete = function(t) {
标签: Leaflet
r-markdownknitrtmapgrob
在RStudio中,我使用tmap_传单函数制作了一张传单图,其中一些多边形根据变量的值进行了着色,并且在多边形顶部打印了一些网格,这些网格显示变量值分为三类。我想这是一个Rmd文件的一部分,这是编织罚款和输出是正确的RStudio弹出窗口,但在自动保存的html文件中的格罗布丢失
下面是我在R studio中编写的Rmd文件的一个可复制示例:
knitr::opts_chunk$set(echo = FALSE)
RStudio中的一切都很好,但在我的工作文件夹中自动保存的html文件中缺少
我创建了一个带有图标的标记,但图标的位置不在右上角它应该位于的最佳位置,因此如何设置标记的位置偏移
我搜索了一会儿,发现了一个未经加工的,鼠标滚动后就不行了。当我放大地图时,图标会远远超出原始位置
这是我的密码
const marker=L.marker(eaPoint.position{
图标:L.icon({
iconUrl:ICONS.ruby,
iconSize:[30,40],
}),
上升悬停:对,
数据:eaPoint.data,
})
它与iconAnchor属性一起工作,我应该
目前正在开发一个应用程序(地图),我想使用传单顶部的Tom-Tom瓷砖层。由于传单的文件,我想坚持传单,而不是汤姆。我使用Tom-Tom方法成功地设置了地图,但我无法使用传单库添加瓷砖层
我看不出我做错了什么。有人能帮忙吗
根据传单教程,代码应如下所示:
Tom-Tom-tile映射API url可通过以下方式生成:
`
//创建一个地图实例,其中心设置为伦敦,缩放比例为13
var mymap=L.map('map').setView([51.505,-0.09],13);
//从TOMTO
我与自己的OSRM服务器和传单路由Mashine一起工作。
构建路由时出现问题:
我正在为汽车建立路线(car.lua profile)。OSRM从起点穿过森林到达一条更长的路线。
但这条路正好穿过起点。这是高速公路
OSRM为什么会这样做?这个“林隙”叫什么名字?从哪里了解它?
什么设置对此负责:profile.lua或服务器请求?
车内配置文件。lua:
起点附近的第三条道路是否未正确连接到道路网的其余部分?这就解释了为什么OSRM不能使用它,而选择“跳”到下一条道路,这是道路网络的一部分
标签: Leaflet
ngx-leafletleaflet-geoman
我在Angular应用程序中使用raw-ployate.js,它依赖于一些传单插件,如EasyButton、Geoman、可扭曲图像。ngx传单看起来既酷又简单。所以我决定迁移到ngx传单。但我确信是否有可能将这些插件与库集成。如果是,请提供一些指导。回答我自己的问题。
以下是让geoman使用ngx传单的步骤
安装geomannpm i@geoman io/免费geoman传单。提及
导入styles.scss中的geoman css@Import'../node_modules/@geoma
我一直试图让传单使用geojson文件中描述的样式显示geojson文件,但我无法让它工作。下面的geojson显示我在那里有样式-OGR样式笔等,但我尝试使用样式函数(styles){return{color:data.properties.pen}}提取它们,但它在控制台上给了我一个错误-但没有足够的错误来匹配层数-因此我可以理解某些层可能没有“pen”属性,但并没有一个图层会出现任何差异
“特点”:[
{“类型”:“特征”,“属性”:{“图层”:“建筑物”,“子类”:“AcDbEntity
我有一个函数如下所示:
<script type="text/javascript">
function oef(feature, layer) {
if (feature.properties && feature.properties.name) {
layer.bindTooltip(feature.properties.name, {
opacity: 1.00,
标签: Leaflet
hoverpolylinepolyline-decorator
我有一个带有两条多段线和多段线装饰器的图层。当我将鼠标悬停在其中任何一个上时,我希望高亮显示多段线和多段线装饰器。现在,当我在上面悬停时,我只能高亮显示其中一个。
这是我的密码:
var layer_migration = L.layerGroup({
layerName: 'layer_migration',
pane: 'linesPane',
});
function onEachFeature_migration (feature
是否有更好的方法为markercluster传单地图提供11000点服务?目前我收到一个脚本超时错误。geojson的大小为2毫克。集群仅限于缩放我在使用大型geoJSON时遇到了类似的问题。通过谷歌搜索,我发现浏览器的JavaScript引擎在解析大型geoJSON文件时存在问题。
我所做的是使用多个调用将geoJSON数据分块加载。你必须自己找出最佳块大小。这对他没有帮助。如果你看一下50K标记器的例子:它运行得很好。这里的问题在于附加了20K+事件处理程序和大约100K的jQuery选择,
我正在为我的项目使用传单.js。我想在地图上添加标记,单击并保存它们
var newMarker = new L.marker(e.latlng).addTo(map);
我正在用上面的代码添加标记。但我想防止在我的图像中添加标记。如何操作?您可以简单地定义图像的边界(例如,如果要使用,您可以执行var bounds=map.getBounds();),然后在创建标记之前,使用条件语句检查单击事件位置是否在这些边界内:
var-imageBounds=map.getBounds();
函数ad
我有两个标签,每个标签都有一张传单地图。第一个贴图正在正确渲染,但第二个贴图仅显示1个平铺(其余为灰色),并且贴图未位于正确区域的中心。我做错了什么?谢谢
var map = L.map('tab-1').setView([latitude, longitude], 5);
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', {
attrib
有人知道如何仅使用北/南边界约束Mapbox地图中的平移吗?我想做的是使用world copy,这样用户可以连续地从东向西平移,但限制南北平移,这样就不能在地图分幅之外平移(我觉得这非常烦人)。当前,我在初始化地图时使用了maxbounds,以防止平移到极点上方和下方的白色瓷砖中,但这与世界复制无关。您可以在用于设置maxbounds选项的L.LatLngBounds中使用-Infinitywest和Infinityeast(thnx Ivan):(在代码段中使用传单,但也适用于Mapbox.j
我是一个新的传单,我想确定它是否可以替代谷歌地图api
大多数事情似乎都是积极的,但我想知道如何用一种简单的方式在标记的图标内书写。目前,我只是能够写在附加的弹出窗口
非常感谢您的帮助,您可以使用自定义HTML替换标记图像。简易方法:
L.marker(e.latlng).bindPopup("Latitude :" + e.latlng.lat + "<br/> Longtitude :" + e.latlng.lng).addTo(this);
L.marker(e.latln
在下面,我试图通过点击按钮将绿色圆圈带到前面。我怎样才能做到这一点
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" >
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-
我尝试了不同版本的v-lapper-editable(Vaadin)。我用的是PolygoField。我可以画一个多边形,但当我试图重画多边形时,我得到了一个错误。对于每个版本的v-传单-editable,我都会得到不同的错误
代码
这是虫子吗 这与v-lapper-editable和v-lapper的版本有关。使用此组合,您应该会很好:
<dependency>
<groupId>org.vaadin.addon</grou
标签: Leaflet
angular-leaflet-directivecumulocity
我在标记上有一个单击功能,它将启用标记弹出窗口。但是当用户在地图外单击时,我想禁用此焦点。如何做到这一点
$scope.$on('leafletDirectiveMarker.click', function (event, args) {
$scope.markers['m' + args.model.value.id].focus = true;
createTemplateForPopup(args.model.value);
我使用一个数组在我的传单地图中创建两个标记,用于带有地理位置的照片,效果很好:
for (var p of ArrayofData) {
var lat = p.lat;
var lon = p.lon;
var markerLocation = new L.LatLng(lat, lon);
var marker = new L.Marker(markerLocation,{
draggable: 'true',
id: p.Fi
我在单个FeatureCollection中具有点、多多边形和线串特征。我想使用circleMarker()设置点的样式,其他的则正常。我向idToFeature对象添加点,以便使用JavaScript进行操作,但无法添加非点特性
使用传单1.3.3,如果我使用pointToLayer:,点的样式会很好,其他类型的点会使用默认的蓝色进行渲染(不知道为什么,因为它们不是点)。我尝试过使用onEachFeature:取而代之,并且可以用这种方式设置非点的样式,但不知道如何为点生成圆形标记
我拥有的
我想知道是否可以在这里使用地图(不是我的):(这是法国官方道路交通服务)在我的网站上显示地图,修改缩放、位置和添加一些兴趣点?
就像我编辑的屏幕截图:
如果可能的话我想知道怎么做
答案是。请考虑改写你的问题。你确定吗?我说的是在一个我根本不拥有的网站上修改一张我不拥有的地图。我越是用谷歌搜索它,我就越觉得这是不可能的…如果你拿这张地图为例,你能用代码缩放吗?从技术角度来看,这应该是可能的。但是,这取决于各种条件,例如服务器是否允许您从第三方服务器访问其数据(即标记)。从法律角度看,这还取决于是
我试图将一个简单的SVG文件设置为我的传单图。我找到的所有例子都不起作用。有人知道怎么做吗
我尝试了以下方法:
在这些示例中,有时会提到不再存在的SVG;因此,我将URL更改为,但它仍然不起作用
地图保持灰色。您可以在此处看到:您的tiger svg已损坏,请尝试其他svg图像,它会正常工作:您的tiger svg已损坏,请尝试其他svg图像,它会正常工作:
标签: Leaflet
bufferpolylineturfjsleaflet-editable
我正在尝试实现一个类似于我的地图上的缓冲区。但是,传单.buffer似乎仅适用于传单.Draw
我用它来画我的图层,我有一条多段线,我想添加一个缓冲区。然而,我找不到任何插件来完成这项工作
我知道我可以用@buffer:
但我希望它与类似,以便您可以在地图上滑动缓冲区。(更方便用户使用)
有没有一种方法可以通过与一起使用来实现这一点?您可以使用turp.js的缓冲模块来实现这一点。在多段线周围创建缓冲区,并在传单地图上绘制生成的geojson。下面是一个工作示例
var中心=[37.78791
我试图在传单地图中设置fitBounds选项,如下所示:
var bounds = new L.LatLngBounds([[Math.max(lat, borneLat), Math.max(lng, borneLng)], [Math.min(lat, borneLat), Math.min(lng, borneLng)]]);
map.fitBounds(bounds, { padding: [20, 20] });
然而,这似乎没有添加任何填充?至少地图“缩放级别”不会改变,并且它始终
我有一个GEOJSON,我将它添加到我的Mapbox地图中的featuregroup中,如下所示:
var featureCollection = {
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"properties": {
"id": 1
},
"geometry": {
"type": "Point",
"coordinates":
我正在尝试删除地图上的所有标记,但下面的代码将仅删除最后添加的标记
有没有办法获得一个新的地图实例?我是说,点击一个按钮,有没有办法在传单中重新初始化地图
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="https://
在一个基于传单的地图应用程序中,我希望有一个大的应用程序菜单,一种设置菜单。我设法把一个漂亮的按钮放在右上角,作为一个L.控件,点击一下它就会被激活
菜单应该在菜单按钮的左边或者仅仅在屏幕的中间位置。
我想知道使用它是否是最佳实践
弹出窗口
一层,
另一个控件或
只需将a放置在页面的正确位置
尝试后一种方法,我发现我必须将z-index设置为一个非常高的值才能看到它,不使用Leafleat特性感觉有点奇怪
使用传单的“正确”解决方案是什么?如果您想要全屏地图,可以使用
我在这里使用它:您可以使用
我不熟悉传单。
我已经按照上的步骤设置了地图
我正在尝试获取地图放大区域中的标记列表,这些标记可用于获取聚焦对象。如何使用angular 4中的ngx传单执行此操作?首先,在(传单映射准备)上设置一个处理程序,以便您可以获取地图的引用。在onMapReady中,您可以将对映射的引用存储在组件中,以便以后使用
<div class="map"
leaflet
[leafletLayers]="layers"
(leafletMapReady)="onMapRe
您好,我使用网络地图,我需要显示当前位置,如map.google.com或openstreetmap.org或blue svg如何显示
<script>
var map = L.map('map').fitWorld();
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=token', {
maxZoom: 18,
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 38 页