首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >打开图层要素

打开图层要素
EN

Stack Overflow用户
提问于 2012-11-17 22:24:41
回答 2查看 191关注 0票数 1

为什么我不能给Vector添加特性?此代码不起作用:

代码语言:javascript
运行
复制
var features = [new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(-70.702451, 42.374473), {className: "latarnia"})]

vectors = new OpenLayers.Layer.Vector("warstwa", {
strategies: [new OpenLayers.Strategy.Fixed()],
 protocol: new OpenLayers.Protocol.HTTP({
format: new OpenLayers.Format.OSM()
 }),
 features : features,
projection: new OpenLayers.Projection("EPSG:4326")});   

map.addLayers([vectors]);

我的意思是向量没有任何特性。我试过了

代码语言:javascript
运行
复制
layer.addFeatures([feature]);

但它也失败了。

EN

回答 2

Stack Overflow用户

发布于 2014-07-15 21:43:03

看起来你的地图和点的投影不一样。地图投影是EPSG:4326,但似乎点投影是EPSG:3857。

它可能会对你有帮助

代码语言:javascript
运行
复制
conv_latlon = new OpenLayers.LonLat(-70.702451, 42.374473).transform('EPSG:3857', 'EPSG:4326')//transform point 
var features = [new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(conv_latlon.lon, conv_latlon.lat), {className: "latarnia"})]
票数 1
EN

Stack Overflow用户

发布于 2014-01-28 02:20:31

由于某些原因,在OpenLayers.Layer.Vector构造函数上初始化"features“属性不起作用。

但您应该能够在之后添加它们:

代码语言:javascript
运行
复制
vectors.addFeatures(features);

然后您可以在浏览器控制台中进行测试:

代码语言:javascript
运行
复制
vectors.features.length; //this should be 1 now

除此之外,代码看起来没问题。您还应该能够将地图上的要素显示为橙色圆圈(默认样式),但前提是点的坐标位于基本层的范围内。使用OpenLayers版本2.14进行了测试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13431449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档