- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 D3 中使用 Leafletjs 来显示 map 。
我只想在 map 中显示英国。
Leaflet 和 D3 是否可以只显示英国。
最佳答案
当然有可能。
现在的解决方案取决于您是想使用 D3 绘制英国,还是想从 Tile Server 获取它。
在后一种情况下,有一个比 xmojmr 评论中的链接中提出的解决方案更新的解决方案。
参见 Prevent tiles outside of polygon from loading
想法是使用 TileLayer.BoundaryCanvas plugin ,您可以指定一个 GeoJSON boundary
选项来隐藏不在该 GeoJSON 几何图形中的所有内容。
BoundaryCanvas is a plugin for Leaflet mapping library to draw tiled raster layers with arbitrary boundary. HTML5 Canvas is used for rendering.
带有粗略英国形状的现场演示:
var map = L.map("map");
$.getJSON('https://cdn.rawgit.com/johan/world.geo.json/34c96bba/countries/GBR.geo.json').then(function(geoJSON) {
var osm = new L.TileLayer.BoundaryCanvas("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
boundary: geoJSON,
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors, UK shape <a href="https://github.com/johan/world.geo.json">johan/word.geo.json</a>'
});
map.addLayer(osm);
var ukLayer = L.geoJSON(geoJSON);
map.fitBounds(ukLayer.getBounds());
});
#map {
height: 500px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.2.0/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.2.0/dist/leaflet-src.js"></script>
<script src="https://cdn.rawgit.com/aparshin/leaflet-boundary-canvas/f00b4d35/src/BoundaryCanvas.js"></script>
<div id="map"></div>
关于javascript - LeafletJs 只显示一个国家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46643086/
var mymap = L.map('mapid').setView([1.369115, 103.845436], 12); L.tileLayer('https://api.map
我一直在玩弹出窗口,结合 JavaScript 中封装的 geojson,并掌握了我需要在 bindpopup 前端做的事情。现在我想有效地将弹出窗口与其标记解除绑定(bind),并让弹出窗口出现
使用作为王牌的 LeafletJS,直到现在:P 我们没有 JSON 对象或任何东西,所以我从 HTML(标题、纬度)中取出值并创建标记。通常这可以正常工作,但是它们的绘图存在问题。本地图真正放大时,
我正在使用 leaflet js 开发一个小项目,我想知道使其成为 OOP 的最佳方法是什么。好的,交易如下: 创建一个与标记一起使用的“类”,这些标记来自数据库。所以,我想我会创建一个对象数组,我对
当 Google Chrome 读取我的 map 时,圆圈出现问题,如左图所示,而 Mozilla Firefox 可以完美读取右侧图像。 所以,我在将圆权重从1转换为7时发现了这个问题。事实上,我一
我正在尝试 Leaflet.js,我有一个带有如下标记的 map : var marker = new L.marker([5.897818, -1.120009],{ draggable:
请帮助我。我的弹出窗口 Leaflet JS 似乎与页面加载时的标记位置不正确。这是我的代码 var arrIcon = new LeafIcon({iconUrl: './dist/images/r
我正在开发一个利用mapbox choropleth map 和leafletjs 标记的可视化。目前,我正在努力让标记在国家一级缩小时合并在一起。我已尝试阅读我的代码,但一直无法找到解决此问题的方法
我正在尝试为我正在创建的服务设置传单,但我似乎无法正确设置对齐方式。底部的标记位于正确的位置,但是,顶部和最右侧的标记未处于正确位置,如 map 上的 X 所示:https://imgur.com/a
我用 LeafletJS 创建了折线来连接 openstreetmap 上的标记。但是,当我向折线函数添加两个以上的点时,点之间会出现不需要的黄色三 Angular 形。 (图片和代码如下) 这是已知
我创建了 this interactive toggle map使用 LeafletJS 如果你see the source code , 有 70 多个数据点。 但是,我正在处理一个包含超过 150
我在 D3 中使用 Leafletjs 来显示 map 。 我只想在 map 中显示英国。 Leaflet 和 D3 是否可以只显示英国。 最佳答案 当然有可能。 现在的解决方案取决于您是想使用 D3
如何保护拖动标记位置纬度并仅启用拖动标记经度轴? 最佳答案 您可以使用 dragstart 和 drag 事件来处理这个问题。开始拖动时保存标记位置,然后在发出 drag 事件时始终重置纬度。 //M
将 leafletjs 与弹出窗口一起使用。当我有带有最少文本的弹出窗口时,一切正常。如果我把它们变大,它们仍然可以正常工作。如果我添加太多我添加 maxHeight 到弹出窗口,它使弹出窗口可滚动。
我有一个传单点 (L.latLng),我想知道它是否出现在传单点数组中。 o.LatLng {lat: 48.8589507, lng: 2.2775168} 我尝试使用 JQuery ($.inAr
首先,这可能不是一个LeafletJS问题,而是一个纯粹的JS问题,但直到Leaflet我才遇到它。 我最近一直在尝试使用 Leaflet,并且在某些时候想要将 Control 对象的扩展版本传递给函
我的 map 中有 3 层。所有图层都是imageOverlay类型,以便显示大图像而不是平铺样式。前两层是我可以在( radio )之间切换的基本图像,第三层是如果选中(复选框)则应显示在它们之上的
我正在使用 leaflet-groupedlayercontrol将我的分组图层添加到 map ,我遇到了问题: 所有图层都被取消选择,但我想默认全选。我使用的是复选框,而不是单选按钮。 var gr
我正在使用 leafletjs API 在 openstreetmaps 上实现显示位置。这是场景,当页面加载时触发 JS 函数,它将查询数据库以获取所有设备的当前位置并将它们显示为 map 上的标记
当我为传单 js 添加自定义标记图标时,标记图标的位置不正确。 这是我使用自定义标记时的 fiddle http://jsfiddle.net/amrana83/7k5Jr/ 这是我使用自定义标记时的
我是一名优秀的程序员,十分优秀!