Javascript &引用;对象没有方法';getBounds'&引用;OpenLayers中的错误
我正在使用此代码在地图上绘制一个点:Javascript &引用;对象没有方法';getBounds'&引用;OpenLayers中的错误,javascript,openlayers,Javascript,Openlayers,我正在使用此代码在地图上绘制一个点: function addPointToMap(pMap){ var coordinates = new Array(); // Style Point var style_blue = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']); style_blue.strokeColor = "blue"; style_blue.
function addPointToMap(pMap){
var coordinates = new Array();
// Style Point
var style_blue = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
style_blue.strokeColor = "blue";
style_blue.fillColor = "blue";
// Make Point
coordinates.push(new OpenLayers.Geometry.Point(33, 33));
var pointFeature = new OpenLayers.Feature.Vector(coordinates, null, style_blue);
// Layer
var pointsLayer = new OpenLayers.Layer.Vector("Points Layer");
pointsLayer.addFeatures([pointFeature]);
pMap.addLayer(pointsLayer);
}
我从控制台收到此错误:
Uncaught TypeError: Object POINT(33, 33) has no method 'getBounds'
我做错了什么?你的地图有“基本层”吗?否则,应将选项“alloverlays”=true添加到地图选项中。我不确定这是否解决了您的问题…答案是添加多点几何体:
function addPointToMap(pMap){
var coordinates = new Array();
// Style Point
var style_blue = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
style_blue.strokeColor = "blue";
style_blue.fillColor = "blue";
// Make Point
coordinates.push(new OpenLayers.Geometry.Point(lon, lat));
var pointsGeometry = new OpenLayers.Geometry.MultiPoint(coordinates);
var pointFeature = new OpenLayers.Feature.Vector(pointsGeometry, null, style_blue);
// Layer
var pointsLayer = new OpenLayers.Layer.Vector("Points Layer");
pointsLayer.addFeatures([pointFeature]);
pMap.addLayer(pointsLayer);
}
为了完整起见,我在从原始WKT数据添加多边形(不是点)时收到了类似的错误。由于对象的类型错误,因此出现没有边界的错误 当您调用
addFeatures
时,它需要一个由创建的对象数组
另外,尝试在gis.stackexchange.com上提问,您可能会在那里得到更好的帮助!我完全忘记了这个问题。你是对的,它是错误的对象类型。
var wkt_parser = new OpenLayers.Format.WKT();
var wkt_data_parsed = wkt_parser.read(some_raw_wkt_data_string);
layer.addFeatures([wkt_data_parsed]);