- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 markerclustergroups 和多边形来显示集群。现在显示了多边形,但没有显示集群。我一直在尝试为多边形使用质心,因为 markerclustergroup 似乎不喜欢多边形,但这实际上不起作用,因为 markerclustergroup 的动画将设置在质心而不是实际的多边形上。
我的多边形的坐标数量各不相同。有些人有 +10 套,其他人有 3 套。我如何将 markerclustergroup 用于多边形?
下面可以看到我的代码:
// Create variable to hold map element, give initial settings to map
var map = L.map('map', {
center: [23.70489, 43.90137],
zoom: 5
});
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
}).addTo(map);
var ojStyle = {
"color": "#ff7800",
"weight": 5,
"opacity": 0.65
};
// Hardcoded polygons as GeoJSON
var polygons = {
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[37.99896240234376, 21.55017532555692],
[39.39422607421876, 21.476073444092435],
[38.88336181640626, 22.56582956966297],
[38.023681640625, 22.611475436593366],
[37.43591308593751, 21.99908185836153],
[37.28485107421876, 21.624239377938288],
[37.28485107421876, 21.624239377938288],
[37.99896240234376, 21.55017532555692]
]
]
}
}, {
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[38.50708007812501, 21.453068633086783],
[39.20745849609376, 21.37124437061832],
[39.10858154296876, 20.876776727727016],
[38.80920410156251, 20.912700155617568],
[38.49884033203126, 20.94604992010052],
[38.50708007812501, 21.453068633086783]
]
]
}
}, {
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[50.57830810546875, 25.980268007469803],
[50.77606201171876, 25.956809920555312],
[50.780181884765625, 25.69970044378398],
[50.56457519531251, 25.822144306879686],
[50.56182861328126, 25.945696562830516],
[50.57830810546875, 25.980268007469803]
]
]
}
}, {
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[54.37408447265626, 24.51963836811676],
[54.29443359375001, 24.40963901896311],
[54.25872802734375, 24.449649897759667],
[54.32739257812501, 24.539627918861232],
[54.37133789062501, 24.559614286039903],
[54.37408447265626, 24.51963836811676]
]
]
}
}, {
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[54.40155029296876, 24.463400705082282],
[54.41940307617188, 24.489648077028683],
[54.45785522460938, 24.462150693715266],
[54.43450927734376, 24.43839812102505],
[54.40155029296876, 24.463400705082282]
]
]
}
}]
}
var polygonArray = []
for (i = 0; i < polygons.features.length; i++) {
polygonArray.push(polygons.features[i]);
}
var markers = L.markerClusterGroup().addTo(map);
var geoJsonLayer = L.geoJson(polygonArray);
markers.addLayer(geoJsonLayer);
map.fitBounds(markers.getBounds());
http://js.do/code/165930 - 显示聚类如何不适用于多边形
我正在寻找这样的解决方案:http://jsfiddle.net/ve2huzxw/237/
最佳答案
您可以像在这篇 GIS 文章中那样做:Is it possible to cluster polygons in Leaflet?
// Compute a polygon "center", use your favourite algorithm (centroid, etc.)
L.Polygon.addInitHook(function() {
this._latlng = this._bounds.getCenter();
});
// Provide getLatLng and setLatLng methods for
// Leaflet.markercluster to be able to cluster polygons.
L.Polygon.include({
getLatLng: function() {
return this._latlng;
},
setLatLng: function() {} // Dummy method.
});
关于javascript - 如何制作 MarkerClusterGroup 聚类多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45798387/
我目前正在使用 asymmetrik's ngx-leaflet and ngx-leaflet-markercluster具有以下版本: "@asymmetrik/ngx-leaflet": "^5
我想在 map 缩小时为标记集群下的标记打开一个弹出窗口。当用户点击搜索结果时调用此函数。 这是我正在使用的代码: map.eachLayer(function (layer) { if (l
我正在尝试使用 markerclustergroups 和多边形来显示集群。现在显示了多边形,但没有显示集群。我一直在尝试为多边形使用质心,因为 markerclustergroup 似乎不喜欢多边形
在传单中有一个扩展名为:Leaflet.markercluster在此扩展中,有一个名为markerClusterGroup的函数,它可以聚类并返回多个标记(点)的计数。参见示例:Here . 在我的
我有两个偶尔重叠的独立 markerClusterGroup。有什么办法可以防止这种情况发生吗?在我的实际代码中,我为其中一个集群组使用自定义图标,以便我可以区分这两种集群类型。但是,对于此示例而言,
我正在尝试将标记簇添加到传单中。 var markers = L.markerClusterGroup(); 我的头文件包括: script(src='https://unpkg.com/lea
我试过 Mapbox 和他们的 API 来创建交互式 map 。目的是获取 geojson 文件中的点,并将它们显示在 map 上。它们必须通过标记图标进行过滤,并根据应用的缩放比例进行分组。 我在使
我尝试使用 Leaflet 的 Cluster Group 插件,但我不断收到“Uncaught TypeError: L.markerClusterGroup is not a function”
我是一名优秀的程序员,十分优秀!