标签: leaflet

为什么填充不透明度会改变填充的阴影?

我这里有一张地图: http: //abehandler.github.io/(用 D3 和 Leaflet 创建)

该地图具有填充属性设置为红色或蓝色的 SVG 元素。但它显示出三种颜色:红、蓝、紫。我注意到,如果我将填充不透明度设置为 1,那么地图上的多边形就有正确的阴影。但如果我开始将填充不透明度更改为小于 1,则多边形的阴影开始发生变化。

我想要半透明的多边形——但我不想改变阴影。为什么改变不透明度会改变阴影?我怎样才能防止这种情况发生?

css svg d3.js leaflet

2
推荐指数
1
解决办法
1128
查看次数

按住传单以设置标记

我想在传单地图上设置标记。为了实现这一点,我尝试了jquery-mobile-events并取得了小小的成功。这就是我集成它的方式:

$(map).off('taphold');
$(map).bind('taphold', function(e, options){
... do something ...
});
Run Code Online (Sandbox Code Playgroud)

它可以在桌面上运行,但不能在移动设备上运行。'map' 是一个 L.map 对象。与之相关的另一个问题是我无法获取 options.startPosition 和 options.endPosition。我需要这个来区分用于平移地图的长按和用于放置标记的长按。有谁知道这个问题的解决方案吗?

leaflet

2
推荐指数
1
解决办法
1266
查看次数

添加传单弹出窗口的链接?

第一次尝试使用传单地图......

想知道如何向传单的弹出窗口添加链接?

我尝试过做这样的事情:

 var marker = L.marker([34.063298, -118.280126]) .addTo(map).bindPopup("<b>Blah blah Village</b><a href="http://www.cnn.com">Test</a>").openPopup();
Run Code Online (Sandbox Code Playgroud)

显然,这是行不通的。

如何添加简单的链接?甚至是图像?

谢谢。

leaflet

2
推荐指数
1
解决办法
4099
查看次数

使用 addWMSTiles 在 R leaflet 中加载 WMS 层

我正在尝试在 R leaflet 包中添加 WMS 切片 - 使用此示例 geoserver WMS 不是问题:

leaflet() %>% addTiles() %>% setView(-93.65, 42.0285, zoom = 4) %>%  addWMSTiles(
"http://sedac.ciesin.columbia.edu/geoserver/wms",
layers = "energy:energy-pop-exposure-nuclear-plants-locations_plants",
options = WMSTileOptions(format = "image/png", transparent = TRUE),
tileOptions(tms = TRUE),
attribution = "")
Run Code Online (Sandbox Code Playgroud)

然而,当我尝试使用 National Map中的 WMS 时,尽管多次尝试正确设置 url 和图层的参数,但我仍然得到空的传单结果:

leaflet() %>% addTiles() %>% setView(-93.65, 42.0285, zoom = 4) %>%addWMSTiles(
"http://basemap.nationalmap.gov/arcgis/services/USGSHydroNHD/MapServer/WmsServer?",
layers = "0",
options = WMSTileOptions(format = "image/png", transparent = TRUE),
attribution = "") 
Run Code Online (Sandbox Code Playgroud)

我之前没有在 R leaflet 包之外使用过 leaflet,所以在使用这种类型的 WMS 在 …

r wms leaflet

2
推荐指数
1
解决办法
5103
查看次数

Leaflet.markercluster onclick错误 - 无法在“Node”上执行“appendChild”:参数1不是“Node”类型

我试图在单击.append地图画布外的某些文本时调用函数。文档中的这个示例似乎有我正在寻找的内容,但我无法成功地将其应用到我的项目中。

我尝试过的代码:

var tiles = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
    maxZoom: 18,
    attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
  }),
  latlng = L.latLng(60, -100);

var map = L.map('map', {center: latlng, zoom: 4, layers: [tiles]});
var progress = document.getElementById('progress');
var progressBar = document.getElementById('progress-bar');

function updateProgressBar(processed, total, elapsed, layersArray) {
  if (elapsed > 1000) {
    progress.style.display = 'block';
    progressBar.style.width = Math.round(processed/total*100) + '%';
  }

  if (processed === total) {
    progress.style.display = 'none';
  }
}

var markers = L.markerClusterGroup({ chunkedLoading: true, chunkProgress: updateProgressBar }); …
Run Code Online (Sandbox Code Playgroud)

javascript markerclusterer leaflet

2
推荐指数
1
解决办法
2949
查看次数

如何为 D3.js 条形图中的条形指定自定义颜色?

我正在使用 LeafletJs 和 D3js 将条形图放入 Leaflet 弹出窗口中。

如何为每个民族栏指定自定义颜色?我想在 D3 代码中分配自定义颜色,因为我无法修改原始数据集。关联

谢谢。

var onEachFeature = function onEachFeature(feature, layer) {

colors = d3.scale.category20()
var div = $('<div id="chart"><h3>Ethnic Group Distribution</h3><svg/><h4>Additional details:</h4>Extra stuff here</div>')[0];

var popup = L.popup({
    minWidth: 500,
    minHeight: 350
}).setContent(div);

layer.bindPopup(popup);

var values = feature.properties;

var data = [{
    name: "Pashtun",
    value: values["Pashtun"]
}, {
    name: "Tajik",
    value: values["Tajik"]
}, {
    name: "Uzbek",
    value: values["Uzbek"]
}, {
    name: "Turkmen",
    value: values["Turkmen"]
}, {
    name: "Hazara",
    value: values["Hazara"]
}, { …
Run Code Online (Sandbox Code Playgroud)

d3.js leaflet

2
推荐指数
1
解决办法
4146
查看次数

如何使 Leaflet 控件水平堆叠而不是垂直堆叠?

我的左下角有缩放控件和比例尺。

我遇到的问题是,当我的地图在移动设备上旋转时,它们与左上角的自定义控制面板重叠。

旋转地图视图的示例

那么如何使比例尺水平位于缩放控件旁边呢?

leaflet

2
推荐指数
1
解决办法
2044
查看次数

ReactJs Leaflet Marker Location 位置问题

我正在尝试使用传单在我的 reactjs 项目中添加地图,并希望在地图上显示车辆的位置。我为此做了一个示例用法。但是当我在地图上使用标记时,我看到了(正如你在这张图片中看到的):

标记的左上侧贴在我的位置。我想在我的位置中心看到标记的底部,就像圆圈一样。但我做不到。我阅读了 react-leaflet 文档,但没有看到相关参数。如果你帮助我,我很感激。谢谢

import React, { Component } from 'react'
import Leaflet from 'leaflet';
import { Map, CircleMarker, TileLayer, Marker, Popup } from 'react-leaflet'
import 'leaflet/dist/leaflet.css';

import icon from 'leaflet/dist/images/marker-icon.png';
import iconShadow from 'leaflet/dist/images/marker-shadow.png';

let DefaultIcon = Leaflet.icon({
    iconUrl: icon,
    shadowUrl: iconShadow
});

Leaflet.Marker.prototype.options.icon = DefaultIcon;

class SimpleExample extends React.Component {
  constructor(props) {
    super();
    this.state = {
      lat: 39.9653301,
      lng: 32.7760817,
      zoom: 5,
      markerPoint: {
        x: 320,
        y: 192
      }
    };
    this.refMap = React.createRef();
  }

  render() { …
Run Code Online (Sandbox Code Playgroud)

javascript marker leaflet reactjs react-leaflet

2
推荐指数
1
解决办法
1176
查看次数

在传单中绘制 sf 类型的对象 [r]

我想问一下如何sf在传单中绘制对象,leaflet package我知道mapview package可以绘制它,但是我更喜欢使用 leafet 包。

我在下面提供了示例:

library(leaflet)
library(eurostat)
library(dplyr)
library(ggplot2)

options(readr.default_locale=readr::locale(tz="Europe/Berlin"))
df60 <- get_eurostat_geospatial(resolution = 60)

CE.sf <- df60 %>%   
  dplyr::filter(LEVL_CODE == 2 & CNTR_CODE %in% c("AT","CZ","DE","HU","PL","SK")) %>% 
  dplyr::select(NUTS_ID) 

plot(CE.sf)

CE.sf %>% 
  ggplot() +
  geom_sf(color = "black", size = 0.4)

CE = sf::as_Spatial(CE.sf)

leaflet() %>% 
  addProviderTiles("CartoDB.Positron") %>% 
  addPolygons(data= CE, color = "green")
Run Code Online (Sandbox Code Playgroud)

我需要从传单中的第 15 行重现情节,我在这里找到了一些想法:https : //gis.stackexchange.com/questions/239118/r-convert-sf-object-back-to-spatialpolygonsdataframe

但是,使用这种方法不起作用。

maps leaflet r-leaflet r-sf

2
推荐指数
1
解决办法
2068
查看次数

设置 R 网页的传单标题

我正在使用 R 传单包生成地图。创建网页时,将网页的<title>元素设置为“leaflet”:

<title>leaflet</title> 
Run Code Online (Sandbox Code Playgroud)

我想将其更改为内容更丰富的内容,但我看不出有什么方法可以做到这一点。我看过这里的讨论,但那是在地图本身上添加标题。我想做一些不同的事情:设置显示在浏览器选项卡顶部的标题。

有没有一种简单的方法可以使用传单或 htmltools 来做到这一点?

r leaflet htmltools

2
推荐指数
1
解决办法
174
查看次数

标签 统计

leaflet ×10

d3.js ×2

javascript ×2

r ×2

css ×1

htmltools ×1

maps ×1

marker ×1

markerclusterer ×1

r-leaflet ×1

r-sf ×1

react-leaflet ×1

reactjs ×1

svg ×1

wms ×1