微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

使用以下文档在多边形内创建多边形非常简单: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 举报,一经查实,本站将立刻删除。