如何在传单中的多边形内获得一个圆圈

问题描述

使用以下文档在多边形内创建多边形非常简单: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 (将#修改为@)