OpenLayers v6.3.1 如何使用“.readFeatures”方法实例化构成 TopoJSON 对象的多个多边形子对象插入到我的脚本中?

OpenLayers v6.3.1 How to instantiate several polygon sub-objects that make up a TopoJSON object inserted in my Script with the “.readFeatures” method?

我的 TopoJSON 对象包含 3 个多边形子对象,其中第一个 D2P1 出现在 OSM 地图上正确绘制的几何图形,但其他 2 个多边形 D2P2 和 D2P3 在地图上绘制时扭曲,变成投影线而不是他们的!正确的几何形状。 你能帮我正确编写代码,使我的 3 个多边形看起来配置正确吗?

    <!DOCTYPE html>
<html lang="es">

<head>
  <meta charset="utf-8" />
  <script src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.
3.1/build/ol.js" type="text/javascript"></script>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6
.3.1/css/ol.css" type="text/css">

  <style>
    /*estilo de la caja del mapa*/
    
    #map {
      width: 100%;
      height: 700px;
      box-shadow: 5px 5px 5px #888;
    }
  </style>

  <style>
    /*estilo de los controles del mapa*/
    
    .ol-mouse-position {
      /*estilo del control de longitud y latitud */
      font-size: 12px;
      font-family: Arial Black;
    }
  </style>
</head>

<body>

  <div id="map"></div>
  <script>
    var osm = new ol.layer.Tile({ // capa osm (Open Street Maps)
      source: new ol.source.OSM()
    });

    // OBJETO TopoJSON
    var Y = {
      "type": "Topology",
      "arcs": [
        [
          [711, 1839],
          [-37, -99],
          [-3, -8],
          [-2, -4],
          [-3, -4],
          [-2, -3],
          [-1, -1],
          [-2, -1],
          [-3, -3],
          [-2, -1],
          [-4, -2],
          [-1, 0],
          [-3, -1],
          [-24, 1],
          [-12, -3],
          [-10, -15],
          [-1, -3],
          [-5, -13],
          [-2, -23],
          [-1, -94],
          [275, -220],
          [17, -31],
          [34, -52],
          [117, -112],
          [19, -19],
          [30, -142]
        ],
        [
          [1085, 986],
          [-5, -9],
          [0, 0],
          [-30, -40],
          [-47, -48],
          [-18, -16],
          [-21, -16],
          [-45, -61],
          [-16, -16],
          [-4, -4],
          [-101, -125],
          [-28, -6],
          [-5, -7],
          [-3, -2],
          [-3, -1],
          [-7, -16],
          [-573, 431],
          [-1, 1],
          [-12, 5],
          [-9, 3],
          [-157, 6],
          [16, 868],
          [14, 15],
          [82, 49],
          [599, -158]
        ],
        [
          [711, 1839],
          [315, -82],
          [459, -119],
          [-3, -4],
          [-143, -167],
          [75, -84],
          [-12, -10],
          [-39, -51],
          [-3, -3],
          [-15, -16],
          [-76, -26],
          [-133, -211],
          [-28, -44],
          [-23, -36]
        ],
        [
          [2354, 410],
          [-76, -313],
          [-220, 43],
          [-37, -140],
          [-11, 11],
          [-129, 128],
          [-17, 17],
          [-6, 5],
          [-5, 2],
          [-7, 3],
          [-8, 2],
          [-15, 4],
          [-173, 40],
          [-169, 39],
          [-2, 6],
          [3, 33],
          [-239, 651],
          [-21, 32],
          [-86, 93],
          [133, 211],
          [76, 26],
          [15, 16],
          [3, 3],
          [39, 51],
          [12, 10],
          [-75, 84],
          [146, 171],
          [2, 1],
          [16, 3],
          [11, 2],
          [9, 1],
          [16, 2],
          [20, 3],
          [20, 1],
          [16, 2],
          [21, -2],
          [14, -2],
          [20, -3],
          [18, -4],
          [21, -8],
          [24, -10],
          [15, -9],
          [23, -14],
          [39, -28],
          [32, -27],
          [20, -14],
          [32, -18],
          [22, -10],
          [23, -6],
          [35, -4],
          [33, -5],
          [41, -1],
          [74, -8],
          [44, -15],
          [73, -32],
          [101, -41],
          [169, -77],
          [118, -51],
          [74, -35],
          [12, -5],
          [-15, -66],
          [-41, -179],
          [-69, -252],
          [-35, -26],
          [-3, -9],
          [-7, -15],
          [-14, -48],
          [-4, -57],
          [-7, -16],
          [-39, -41],
          [-14, -22],
          [-21, -44],
          [-23, -3],
          [-15, -1],
          [-9, -2],
          [-8, -6],
          [-10, -16],
          [-5, -11],
          [0, 0]
        ]
      ],
      "transform": {
        "scale": [0.00001991525380089962, 0.000012987212987305721],
        "translate": [-98.20093192354561, 19.06017018766488]
      },
      "objects": {

        "D2P1": {
          "type": "GeometryCollection",
          "geometries": [{
            "arcs": [
              [0, 1]
            ],
            "type": "Polygon",
            "properties": {
              "Name": "(STA. MARÍA) 1  P.MARIA AUXILIO DE LOS CRISTIANOS",
              "description": null,
              "timestamp": null,
              "begin": null,
              "end": null,
              "altitudeMode": null,
              "tessellate": -1,
              "extrude": 0,
              "visibility": -1,
              "drawOrder": null,
              "icon": null,
              "snippet": ""
            }
          }]
        },

        "D2P2": {
          "type": "GeometryCollection",
          "geometries": [{
            "arcs": [
              [-1, 2]
            ],
            "type": "Polygon",
            "properties": {
              "Name": "(STA. MARÍA) 2  P. NUESTRA SEÑORA DE LA CANDELARIA",
              "description": null,
              "timestamp": null,
              "begin": null,
              "end": null,
              "altitudeMode": null,
              "tessellate": -1,
              "extrude": 0,
              "visibility": -1,
              "drawOrder": null,
              "icon": null,
              "snippet": ""
            }
          }]
        },

        "D2P3": {
          "type": "GeometryCollection",
          "geometries": [{
            "arcs": [
              [3]
            ],
            "type": "Polygon",
            "properties": {
              "Name": "(STA. MARÍA) 3  P. SEÑOR DE LAS MARAVILLAS",
              "description": null,
              "timestamp": null,
              "begin": null,
              "end": null,
              "altitudeMode": null,
              "tessellate": -1,
              "extrude": 0,
              "visibility": -1,
              "drawOrder": null,
              "icon": null,
              "snippet": ""
            }
          }]
        }
      }
    };

    /* source*/

    var sourceD2P1 = new ol.source.Vector({
      features: (new ol.format.TopoJSON({
        layers: ['D2P1']
      })).readFeatures(Y, {
        dataProjection: 'EPSG:4326',
        featureProjection: 'EPSG:3857'
      }),
    });

    var sourceD2P2 = new ol.source.Vector({
      features: (new ol.format.TopoJSON({
        layers: ['D2P2']
      })).readFeatures(Y, {
        dataProjection: 'EPSG:4326',
        featureProjection: 'EPSG:3857'
      }),
    });

    var sourceD2P3 = new ol.source.Vector({
      features: (new ol.format.TopoJSON({
        layers: ['D2P3']
      })).readFeatures(Y, {
        dataProjection: 'EPSG:4326',
        featureProjection: 'EPSG:3857'
      }),
    });
    /*LAYER.VECTOR*/

    var vectorD2P1 = new ol.layer.Vector({ // ----D2P1
      source: sourceD2P1,
      style: new ol.style.Style({
        fill: new ol.style.Fill({
          color: 'green',
        }),
        stroke: new ol.style.Stroke({
          color: 'green',
          width: 1
        })
      })
    });

    var vectorD2P2 = new ol.layer.Vector({ // ----D2P2
      source: sourceD2P2,
      style: new ol.style.Style({
        fill: new ol.style.Fill({
          color: 'red',
        }),
        stroke: new ol.style.Stroke({
          color: 'red',
          width: 1
        })
      })
    });

    var vectorD2P3 = new ol.layer.Vector({ // ----D2P3
      source: sourceD2P3,
      style: new ol.style.Style({
        fill: new ol.style.Fill({
          color: 'blue',
        }),
        stroke: new ol.style.Stroke({
          color: 'blue',
          width: 1
        })
      })
    });

    var controls = ol.control.defaults().extend([
      new ol.control.ScaleLine(), /*control del mapita lateral*/
      new ol.control.Attribution(), /*control del letrero de Open Street Maps*/
      new ol.control.MousePosition({ /*control de LONGITUD Y LATITUD en donde se coloque el mause*/
        coordinateFormat: ol.coordinate.createStringXY(4),
        projection: 'EPSG:4326'
      }),
      new ol.control.OverviewMap({
        layers: [
          new ol.layer.Tile({
            source: new ol.source.OSM()
          })
        ]
      }),
      /*new ol.control.ZoomSlider(),*/
      new ol.control.FullScreen() /*control de expancon u cerrado del mapa*/
    ]);

    var Mivista = new ol.View({
      center: ol.proj.fromLonLat([-98.2172, 19.03464]),
      zoom: 12
    }) //-98.197, 19.0433 puebla

    var layers = [osm,
      vectorD2P1, vectorD2P2, vectorD2P3,
    ];

    // Creacion del mapa con las 3 capas
    var map = new ol.Map({
      /*target------*/
      target: 'map',
      /*layers------*/
      layers: layers,
      controls: controls,
      /*view--------*/
      view: Mivista,
    });

    Mivista.setRotation(-.4999) // Rota el plano 27 grados
  </script>
</body>

</html>

我把回答我问题的代码留给你,我希望它会非常有用

<!DOCTYPE html>
<html lang="es">

<head>
  <meta charset="utf-8" />
  <script src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.
3.1/build/ol.js" type="text/javascript"></script>

  <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6
.3.1/css/ol.css" type="text/css">

  <style>
    /*estilo de la caja del mapa*/
    
    #map {
      width: 100%;
      height: 1000px;
      box-shadow: 5px 5px 5px #888;
    }
  </style>

  <style>
    /*estilo de los controles del mapa*/
    
    .ol-mouse-position {
      /*estilo del control de longitud y latitud */
      font-size: 12px;
      font-family: Arial Black;
    }
  </style>



</head>

<body>
  <div id="map"></div>

  <script>
    var osm = new ol.layer.Tile({ // capa osm (Open Street Maps)
      source: new ol.source.OSM()
    });

    // OBJECTO_1 TopoJSON
    var geojsonObjectochentaPARROQUIAS = {
      // OBJETO TopoJSON

      "type": "Topology",
      "arcs": [
        [
          [711, 1839],
          [-37, -99],
          [-3, -8],
          [-2, -4],
          [-3, -4],
          [-2, -3],
          [-1, -1],
          [-2, -1],
          [-3, -3],
          [-2, -1],
          [-4, -2],
          [-1, 0],
          [-3, -1],
          [-24, 1],
          [-12, -3],
          [-10, -15],
          [-1, -3],
          [-5, -13],
          [-2, -23],
          [-1, -94],
          [275, -220],
          [17, -31],
          [34, -52],
          [117, -112],
          [19, -19],
          [30, -142]
        ],
        [
          [1085, 986],
          [-5, -9],
          [0, 0],
          [-30, -40],
          [-47, -48],
          [-18, -16],
          [-21, -16],
          [-45, -61],
          [-16, -16],
          [-4, -4],
          [-101, -125],
          [-28, -6],
          [-5, -7],
          [-3, -2],
          [-3, -1],
          [-7, -16],
          [-573, 431],
          [-1, 1],
          [-12, 5],
          [-9, 3],
          [-157, 6],
          [16, 868],
          [14, 15],
          [82, 49],
          [599, -158]
        ],
        [
          [711, 1839],
          [315, -82],
          [459, -119],
          [-3, -4],
          [-143, -167],
          [75, -84],
          [-12, -10],
          [-39, -51],
          [-3, -3],
          [-15, -16],
          [-76, -26],
          [-133, -211],
          [-28, -44],
          [-23, -36]
        ],
        [
          [2354, 410],
          [-76, -313],
          [-220, 43],
          [-37, -140],
          [-11, 11],
          [-129, 128],
          [-17, 17],
          [-6, 5],
          [-5, 2],
          [-7, 3],
          [-8, 2],
          [-15, 4],
          [-173, 40],
          [-169, 39],
          [-2, 6],
          [3, 33],
          [-239, 651],
          [-21, 32],
          [-86, 93],
          [133, 211],
          [76, 26],
          [15, 16],
          [3, 3],
          [39, 51],
          [12, 10],
          [-75, 84],
          [146, 171],
          [2, 1],
          [16, 3],
          [11, 2],
          [9, 1],
          [16, 2],
          [20, 3],
          [20, 1],
          [16, 2],
          [21, -2],
          [14, -2],
          [20, -3],
          [18, -4],
          [21, -8],
          [24, -10],
          [15, -9],
          [23, -14],
          [39, -28],
          [32, -27],
          [20, -14],
          [32, -18],
          [22, -10],
          [23, -6],
          [35, -4],
          [33, -5],
          [41, -1],
          [74, -8],
          [44, -15],
          [73, -32],
          [101, -41],
          [169, -77],
          [118, -51],
          [74, -35],
          [12, -5],
          [-15, -66],
          [-41, -179],
          [-69, -252],
          [-35, -26],
          [-3, -9],
          [-7, -15],
          [-14, -48],
          [-4, -57],
          [-7, -16],
          [-39, -41],
          [-14, -22],
          [-21, -44],
          [-23, -3],
          [-15, -1],
          [-9, -2],
          [-8, -6],
          [-10, -16],
          [-5, -11],
          [0, 0]
        ]
      ],
      "transform": {
        "scale": [0.00001991525380089962, 0.000012987212987305721],
        "translate": [-98.20093192354561, 19.06017018766488]
      },
      "objects": {

        "D2P1": {
          "type": "GeometryCollection",
          "geometries": [{
            "arcs": [
              [0, 1]
            ],
            "type": "Polygon",
            "properties": {
              "Name": "(STA. MARÍA) 1  P.MARIA AUXILIO DE LOS CRISTIANOS",
              "description": null,
              "timestamp": null,
              "begin": null,
              "end": null,
              "altitudeMode": null,
              "tessellate": -1,
              "extrude": 0,
              "visibility": -1,
              "drawOrder": null,
              "icon": null,
              "snippet": ""
            }
          }]
        },

        "D2P2": {
          "type": "GeometryCollection",
          "geometries": [{
            "arcs": [
              [-1, 2]
            ],
            "type": "Polygon",
            "properties": {
              "Name": "(STA. MARÍA) 2  P. NUESTRA SEÑORA DE LA CANDELARIA",
              "description": null,
              "timestamp": null,
              "begin": null,
              "end": null,
              "altitudeMode": null,
              "tessellate": -1,
              "extrude": 0,
              "visibility": -1,
              "drawOrder": null,
              "icon": null,
              "snippet": ""
            }
          }]
        },


        "D2P3": {
          "type": "GeometryCollection",
          "geometries": [{
            "arcs": [
              [3]
            ],
            "type": "Polygon",
            "properties": {
              "Name": "(STA. MARÍA) 3  P. SEÑOR DE LAS MARAVILLAS",
              "description": null,
              "timestamp": null,
              "begin": null,
              "end": null,
              "altitudeMode": null,
              "tessellate": -1,
              "extrude": 0,
              "visibility": -1,
              "drawOrder": null,
              "icon": null,
              "snippet": ""
            }
          }]
        }
      }
    };






    // OBJECTO_2 TopoJSON
    var geojsonObjectXXX = { // -------------------------------------------------ObjectXXX-----Municipio_TopoJSON
      "type": "Topology",
      "arcs": [
        [
          [3698, 68],
          [-126, 23],
          [-54, 8],
          [-370, -99],
          [-112, 35],
          [-249, 34],
          [-133, 44],
          [-62, 66],
          [-35, 73],
          [29, 117],
          [-38, 91],
          [-95, 135],
          [-58, 226],
          [-38, 29],
          [-24, 82],
          [-102, 79],
          [-64, 94],
          [-91, 38],
          [-98, 4],
          [-104, -18],
          [-77, -53],
          [-95, -37],
          [-37, -47],
          [-139, -59],
          [-55, -59],
          [-105, -57],
          [-62, -10],
          [-93, 35],
          [-536, -78],
          [-105, 19],
          [-76, 98],
          [-39, 16],
          [-160, 3],
          [14, 30],
          [59, 50],
          [63, 87],
          [112, 135],
          [23, 71],
          [-49, 67],
          [-52, 37],
          [-19, 0],
          [-20, -17],
          [-66, 9],
          [-79, -8],
          [-62, -14],
          [-82, 14],
          [-43, 3],
          [-62, 63],
          [-32, 81],
          [9, 39],
          [41, 52],
          [30, 18],
          [5, 40],
          [13, 25],
          [25, 3],
          [46, -9],
          [46, -1],
          [38, 9],
          [33, 28],
          [-10, 36],
          [-23, 53],
          [-8, 30],
          [22, 45],
          [35, 110],
          [2, 15],
          [25, 173],
          [1, 79],
          [1, 142],
          [-5, 202],
          [28, 10],
          [58, -2],
          [54, 4],
          [42, 16],
          [13, 41],
          [-94, 114],
          [-39, 34],
          [-6, 11],
          [-8, 15],
          [9, 43],
          [-35, 77],
          [5, 103],
          [-4, 66],
          [-39, 64],
          [-28, 20],
          [-66, 49],
          [-58, 63],
          [68, 31],
          [18, 35],
          [0, 61],
          [3, 61],
          [32, 55],
          [38, 29],
          [-80, 137],
          [87, 24],
          [35, 47],
          [52, 23],
          [96, 28],
          [39, -76],
          [44, -33],
          [47, 42],
          [30, 22],
          [111, -8],
          [44, 17],
          [19, 62],
          [28, 17],
          [90, -2],
          [55, 76],
          [59, 91],
          [20, 68],
          [20, 69],
          [34, 48],
          [115, 70],
          [27, 46],
          [46, -1],
          [78, -2],
          [75, 71],
          [92, -18],
          [41, 21],
          [2, 2],
          [54, 90],
          [68, 18],
          [3, 4],
          [38, 63],
          [15, 45],
          [51, 28],
          [35, 62],
          [5, 46],
          [-68, 115],
          [-66, 37],
          [-54, 31],
          [-78, 33],
          [-23, 33],
          [-12, 19],
          [-19, -18],
          [41, -92],
          [-123, 10],
          [-240, 19],
          [39, 16],
          [-23, 7],
          [-98, 33],
          [-27, 12],
          [-37, 17],
          [-144, -129],
          [-16, 101],
          [-113, 53],
          [-45, 71],
          [-186, 20],
          [48, 138],
          [53, -5],
          [156, 112],
          [-61, 124],
          [-86, 32],
          [52, 150],
          [47, 145],
          [12, 39],
          [18, 39],
          [2, 4],
          [22, 77],
          [-53, 28],
          [-39, 24],
          [110, 66],
          [25, 15],
          [14, 35],
          [18, 139],
          [62, -7],
          [58, 85],
          [91, -52],
          [78, -12],
          [106, -17],
          [22, 86],
          [5, 22],
          [10, 42],
          [57, 31],
          [6, 36],
          [-17, 37],
          [-11, 8],
          [-11, -5],
          [1, 9],
          [-29, 54],
          [-4, 62],
          [-3, 4],
          [-18, 24],
          [86, 51],
          [27, -26],
          [30, 34],
          [15, 38],
          [93, -57],
          [27, 15],
          [22, 15],
          [8, 14],
          [-5, 32],
          [-15, 36],
          [6, 28],
          [24, 27],
          [7, 42],
          [62, 57],
          [1, 16],
          [-79, 55],
          [1, 14],
          [42, 25],
          [21, 1],
          [24, 20],
          [5, 69],
          [-11, 22],
          [-24, 23],
          [0, 13],
          [4, 38],
          [11, 8],
          [6, 21],
          [-12, 12],
          [0, 16],
          [15, 19],
          [6, 19],
          [4, 91],
          [9, 10],
          [-7, 19],
          [14, 10],
          [17, 2],
          [17, -8],
          [44, -7],
          [23, 9],
          [15, 11],
          [12, 28],
          [-12, 35],
          [9, 8],
          [-6, 101],
          [10, -12],
          [25, -36],
          [31, 34],
          [21, -30],
          [3, -16],
          [60, 2],
          [-5, 12],
          [40, -12],
          [40, -17],
          [37, -19],
          [48, -8],
          [15, 3],
          [32, -3],
          [29, -9],
          [27, -2],
          [48, 4],
          [26, 2],
          [29, 7],
          [25, 4],
          [23, 11],
          [15, 10],
          [22, 3],
          [-1, -8],
          [16, -15],
          [28, -17],
          [11, -10],
          [3, -7],
          [-3, -8],
          [-18, -21],
          [-3, -14],
          [1, -12],
          [12, -23],
          [3, -10],
          [-3, -11],
          [-14, -11],
          [-10, -14],
          [-4, -20],
          [4, -13],
          [7, -14],
          [6, -12],
          [8, -24],
          [15, -68],
          [-1, -106],
          [-5, -23],
          [-2, -64],
          [-5, -17],
          [-16, -36],
          [17, -9],
          [25, -4],
          [40, 4],
          [40, 9],
          [28, 16],
          [20, 19],
          [43, -1],
          [16, 10],
          [16, -6],
          [23, -22],
          [77, -31],
          [123, -53],
          [83, -43],
          [22, -7],
          [125, -52],
          [210, -80],
          [174, -74],
          [45, -19],
          [44, -14],
          [61, 12],
          [14, 5],
          [12, 7],
          [4, 5],
          [9, 4],
          [2, 3],
          [10, 3],
          [38, 27],
          [3, 3],
          [3, 5],
          [2, 5],
          [0, 4],
          [5, 8],
          [27, -18],
          [18, -12],
          [31, 42],
          [39, 35],
          [58, 34],
          [129, 56],
          [53, 30],
          [34, 21],
          [29, 21],
          [63, 48],
          [33, 14],
          [20, 6],
          [19, 1],
          [24, 6],
          [15, 6],
          [19, 13],
          [213, 202],
          [161, 201],
          [31, 79],
          [22, 52],
          [93, 97],
          [86, 64],
          [37, 63],
          [112, 50],
          [-11, 11],
          [46, 16],
          [22, 16],
          [24, 28],
          [12, 4],
          [70, 27],
          [15, 10],
          [19, 7],
          [16, 9],
          [7, 15],
          [2, 13],
          [3, 9],
          [7, 8],
          [20, 16],
          [13, 11],
          [15, 9],
          [11, 19],
          [24, 10],
          [13, 9],
          [9, 1],
          [11, 5],
          [11, 1],
          [18, -2],
          [22, -2],
          [44, 0],
          [38, 32],
          [6, 56],
          [-7, 76],
          [30, 76],
          [93, 127],
          [209, 2],
          [33, -1],
          [118, -5],
          [120, 116],
          [203, 130],
          [178, 202],
          [177, 151],
          [141, 43],
          [124, 102],
          [137, 213],
          [133, 176],
          [127, 158],
          [12, 217],
          [51, 110],
          [94, -27],
          [65, -115],
          [6, -171],
          [3, -22],
          [241, -231],
          [-135, -147],
          [-47, 16],
          [-6, -79],
          [-126, -184],
          [-13, -90],
          [-71, 70],
          [-52, -46],
          [1, -114],
          [35, -117],
          [-16, -246],
          [3, -183],
          [-1, -35],
          [-50, -141],
          [1, -113],
          [-46, -302],
          [57, -66],
          [136, 198],
          [86, 8],
          [-24, -126],
          [-65, -35],
          [-13, -69],
          [-13, -72],
          [-34, -43],
          [-34, -102],
          [-87, 11],
          [-37, -13],
          [-81, -95],
          [-61, -33],
          [-89, -50],
          [16, -78],
          [-18, -75],
          [-67, -46],
          [-130, -61],
          [-22, -37],
          [43, -182],
          [-22, -105],
          [-42, -20],
          [-27, -5],
          [-24, -8],
          [-37, -65],
          [-65, -47],
          [-70, -17],
          [-103, -52],
          [-74, -89],
          [-6, -101],
          [-36, -43],
          [-46, -146],
          [-97, -161],
          [-22, -93],
          [-31, -21],
          [-46, -165],
          [-54, -190],
          [-4, -40],
          [77, -92],
          [28, -57],
          [-1, 0],
          [-315, 73],
          [-74, 2],
          [-138, 4],
          [-162, -25],
          [-132, -20],
          [-157, -3],
          [-65, -52],
          [-24, -160],
          [-42, -30],
          [-7, -15],
          [2, -29],
          [21, 6],
          [23, -32],
          [-104, 0],
          [-12, -2],
          [-254, -4],
          [1, -12],
          [-29, 0],
          [0, -25],
          [-42, 4],
          [-93, 9],
          [2, -7],
          [-7, 0],
          [-27, -1],
          [-23, -13],
          [0, -16],
          [48, -67],
          [40, -5],
          [38, -6],
          [44, -6],
          [40, -31],
          [11, -8],
          [39, -30],
          [32, -26],
          [93, -72],
          [-26, -120],
          [-159, -128],
          [-12, -10],
          [-23, -139],
          [-24, -149],
          [-118, -199],
          [44, -84],
          [-23, -60],
          [-28, 22],
          [-17, -29],
          [-75, -43],
          [-73, -9],
          [-4, -18],
          [-45, -53],
          [51, -150],
          [70, -150],
          [19, -90],
          [-65, -91],
          [-21, -30],
          [3, -345],
          [-10, -48],
          [14, -49],
          [-29, -32],
          [13, -18],
          [34, -47],
          [-2, -32],
          [-3, -41],
          [85, -25],
          [62, -46],
          [70, -52],
          [80, -33],
          [193, -65],
          [80, -66],
          [55, -138],
          [-38, -73],
          [23, -56],
          [278, -196],
          [92, -53],
          [117, -37],
          [118, -210],
          [-120, -1],
          [-185, -48],
          [-77, 56],
          [-285, -61],
          [-28, -169],
          [-205, -26],
          [67, 172],
          [-131, 34],
          [-3, 73],
          [-174, 7],
          [-16, -66],
          [-50, -23],
          [-54, 33],
          [-208, -45],
          [-43, -70],
          [-42, -3],
          [-70, -39],
          [-162, -442],
          [-7, -315],
          [-153, -388],
          [-11, -185],
          [-98, -58]
        ]
      ],
      "transform": {
        "scale": [3.750052683335661, 4.395371608583082],
        "translate": [-10941343.283091985, 2137380.706460472]
      },
      "objects": {
        "municipioDePuebla": {
          "type": "GeometryCollection",
          "geometries": [{
            "arcs": [
              [0]
            ],
            "type": "Polygon",
            "properties": {
              "Name": "MUNICIPIO DE  PUEBLA",
              "description": null,
              "timestamp": null,
              "begin": null,
              "end": null,
              "altitudeMode": null,
              "tessellate": -1,
              "extrude": 0,
              "visibility": -1,
              "drawOrder": null,
              "icon": null,
              "snippet": ""
            }
          }]
        }
      }
    }; // Municipio_TopoJSON




    /* ol.format.TopoJSON------------------------------------------------------------------------------------------------------------------*/

    var sourceOchentaPARROQUIAS = new ol.source.Vector({
      features: (new ol.format.TopoJSON({
        layers: ['D2P1', 'D2P2', 'D2P3']
      })).readFeatures(geojsonObjectochentaPARROQUIAS, {
        dataProjection: 'EPSG:4326',
        featureProjection: 'EPSG:3857'
      })
    });




    var sourceMunicipio = new ol.source.Vector({
      features: (new ol.format.TopoJSON()).readFeatures(geojsonObjectXXX)
    });



    /* ol.layer.Vector-----------------------------------------------------------------------------------------------------------------------*/

    function generateRandomColor(seed) {
      let r = Math.floor(Math.random() * 255)
      let g = Math.floor(Math.random() * 255)
      let b = Math.floor(Math.random() * 255)
      return `rgba(${r}, ${g}, ${b}, 0.3)`
    }

    let features = sourceOchentaPARROQUIAS.getFeatures()
    let colors = {}
    features.forEach((feature, i) => {
      let geom = feature.getGeometry()
      colors[geom.ol_uid] = generateRandomColor(geom.ol_uid)
    })

    function vectorStyleFunction(feature) {
      let geom = feature.getGeometry()
      let id = geom.ol_uid
      let style = new ol.style.Style({
        fill: new ol.style.Fill({
          color: colors[id]
        }),
        stroke: new ol.style.Stroke({
          color: /*'rgba(9, 87, 140, 1)',*/ 'blue',
          width: 1
        }),
        text: new ol.style.Text({
          font: '12px Calibri,sans-serif',
          fill: new ol.style.Fill({
            color: '#000',
          }),
          stroke: new ol.style.Stroke({
            color: '#fff',
            width: 3,
          }),
        }),
      })
      // style.getText().setText(geom.ol_uid);
      return style
    }

    var vectorLayerOchentaPARROQUIAS = new ol.layer.Vector({ // ----82 POLIGONOS
      source: sourceOchentaPARROQUIAS,
      style: vectorStyleFunction
    });

    var vectorLayerMunicipioDePuebla = new ol.layer.Vector({ // ----1 POLIGONO
      source: sourceMunicipio,
      style: new ol.style.Style({
        fill: new ol.style.Fill({
          color: 'rgba(255, 255, 255, 0.00)'
        }),
        stroke: new ol.style.Stroke({
          color: '#09a7ee',
          width: 2
        }),
      })
    });


    /* CONTROLES-----------------------------------------------------------------------------------------------------------------------*/

    var controls = ol.control.defaults().extend([
      new ol.control.ScaleLine(), /*control del mapita lateral*/
      new ol.control.Attribution(), /*control del letrero de Open Street Maps*/
      new ol.control.MousePosition({ /*control de LONGITUD Y LATITUD en donde se coloque el mause*/
        coordinateFormat: ol.coordinate.createStringXY(4),
        projection: 'EPSG:4326'
      }),
      new ol.control.OverviewMap({
        layers: [
          new ol.layer.Tile({
            source: new ol.source.OSM()
          })
        ]
      }),
      /*new ol.control.ZoomSlider(),*/
      new ol.control.FullScreen() /*control de expancon u cerrado del mapa*/

    ]);


    // Creacion del mapa con las TRES capas

    var Mivista = new ol.View({
      center: ol.proj.fromLonLat([-98.2172, 19.0150]),
      zoom: 12
    }) //-98.197, 19.0433 puebla

    // pedida de capas
    /*LAYERS*/
    var layers = [osm, vectorLayerOchentaPARROQUIAS, vectorLayerMunicipioDePuebla];





    var map = new ol.Map({
      /*target------*/
      target: 'map',
      layers: layers,
      controls: controls,
      /*view--------*/
      view: Mivista,

    });

    Mivista.setRotation(-.4999) // Rota el plano 27 grados en sentido contrario de las manecillas del reloj
  </script>
</body>

</html>