我想在我的地图上显示一些GeoJSON,但它不工作。我从数据库中提取复杂的多边形,但为了简单起见,我尝试手工构建基本的多边形。我无法让它显示出来。GeoJSON不会显示在传单上(1.0)
我试着创建一个zIndex为10000的新窗格,然后在那里添加图层无济于事。我尝试交换纬度/长度,以防我以某种方式扭转它们,而这也不起作用。我使用10像素的重量来确保没有办法可以错过。
这里是一个基本的例子,我只是试图添加一个将曼哈顿界定为地图的多边形。
var mapDivId = 'map';
var leafletMap = L.map(mapDivId,
{'boxZoom': true,
'doubleClickZoom': false,
'scrollWheelZoom': true,
'touchZoom': true,
'zoomControl': true,
'dragging': true});
var osm = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
});
osm.addTo(leafletMap);
var districtOutlineStyle = {
"color": "black",
"weight": "10px",
"opacity": "0.5"
};
var overlaySimplePolygonAroundManhattan = function() {
xmin = 40.68291;
xmax = 40.87903;
ymin = -74.04772;
ymax = -73.90665;
geoJsonShape = {'type': "Polygon",
'coordinates': [[[xmin, ymin], [xmin, ymax], [xmax, ymax], [xmax, ymin], [xmin, ymin]]]};
districtsOverlay = L.geoJSON(geoJsonShape,
{style: districtOutlineStyle});
leafletMap.addLayer(districtsOverlay);
};
overlaySimplePolygonAroundManhattan();
任何想法为什么它不会显示多边形?这是宣传单1.1.0。
谢谢!
安德鲁是对的!这是因为我为像素指定了像素而不是数字。它现在很好用。 我曾经尝试交换经纬度多次,所以我知道这不仅仅是。那就是调试代码。我认为我发布的代码片段有正确的顺序,但显然不是。我展示的真实形状是MultiPolygons,从Postgres中抽取为GeoJSON,所以我确信我有正确的纬度/经度排序,即使他们在我的调试功能中倒退。只要我删除'px',我的功能就显示出真实的形状了。 –