问题描述
使用以下文档在多边形内创建多边形非常简单:https://leafletjs.com/reference-1.7.1.html#polygon。有人可以帮我在多边形内创建一个圆(不是任何其他形式的孔,而是一个圆)。
这是多边形内多边形的代码:
var coordinates1 =
[
[
56.161106946516895,10.19885912840232
],[
56.16109132206879,10.200468870423682
],[
56.16019304847142,10.200440852823863
],[
56.16020867239298,10.19883114835013
],[
56.161106946516895,10.19885912840232
],];
const coor2 = [
[
56.11952933994325,9.996528625488281,],[
56.11952933994325,10.204582214355469
],[
56.18015197042245,10.204582214355469,]
];
var lat = 56.16065;
var lng = 10.19965;
var zoom = 18;
var map = new L.Map('map');
var osmUrl='http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
var osmAttrib='Map data © OpenStreetMap contributors';
var osm = new L.TileLayer(osmUrl,{minZoom: 3,maxZoom: 8,attribution: osmAttrib});
map.addLayer(osm);
map.setView(new L.LatLng(lat,lng),zoom);
// transform geojson coordinates into an array of L.LatLng
var latLngs1 = [];
var latLngs2 = [];
for (i=0; i<coordinates1.length; i++) {
latLngs1.push(new L.LatLng(coordinates1[i][0],coordinates1[i][1]));
}
for (i=0; i<coor2.length; i++) {
latLngs2.push(new L.LatLng(coor2[i][0],coor2[i][1]));
}
var ll = [latLngs2,latLngs1];
var polygon = L.polygon(ll,{color: 'red'}).addTo(map);
多边形内多边形的 JSfiddle 示例在这里:http://jsfiddle.net/fojdcy1a/
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)