Openlayers 3多边形未在地图上呈现

时间:2016-07-04 11:09:54

标签: javascript polygon openstreetmap openlayers-3

我已经设置了一个OpenLayers 3地图的小例子,我正在尝试向地图添加自定义多边形。如果我使用示例中的数据,它可以正常工作,多边形渲染,并在地图上显示,但是当我尝试添加另一个自定义多边形时,它根本不会显示在地图上。这是我使用的代码:

function initMap(map) {

 var IMap=new Map(map, [50.5973695, 6.200000]);
 var polygons=jQuery("#"+map).data('polygons');
 console.log(polygons);
 jQuery.each(polygons, function(index, value) {
     IMap.addPolygon(index, value);
 });

 IMap.addPolygon('test', [[-12.55,-21.12], [-44,-55], [-88,75]]);
}

函数Map在渲染地图时正常工作,并以特定位置为中心。函数addPolygon也有效,因为我用IMap.addPolygon行手动添加的多边形在地图上呈现。这是Map::addPolygon函数:

Map.prototype.addPolygon = function(name, coordinates) {

 var _coordinates=[], i;
 for (i=0; i<coordinates.length ;i++ ) {
     console.log(coordinates[i]);
     _coordinates.push(ol.proj.transform(coordinates[i], 'EPSG:4326', 'EPSG:3857'));
 }

 console.log("Creating polygon", _coordinates);
 var Polygon = new ol.geom.Polygon([_coordinates]);
 var feature = new ol.Feature({
     name: name,
     geometry: Polygon
 });
 this.polygons.push(feature);

 feature.setStyle(polyStyle);

 this.vectorSource.addFeature(feature);
}

以下是注销的两个_coordinates

这个用于动态折叠多边形,不呈现:

  
    

创建多边形阵列[Array [2],Array [2],Array [2],Array [2],Array [2],Array [2],Array [2],Array [2],Array [2 ],数组[2],另外9个......]

  
     

上面数组的内部数组示例:数组[50.5982266,6.2467439]

这个是用于手动添加的多边形,它呈现了相关性:

  
    

创建多边形阵列[Array [2],Array [2],Array [2]]

  
     

上面数组的内部数组示例:数组[-13.12,-21.76]

可能是什么问题?

注意:此问题也发布在gis.stackexchange.com

0 个答案:

没有答案