Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改openlayers中feature.vector的外观_Openlayers - Fatal编程技术网

更改openlayers中feature.vector的外观

更改openlayers中feature.vector的外观,openlayers,Openlayers,我正在将代码从使用标记层转换为向量层。我在地图上作为Feature.Vector类显示标记时遇到问题(在我仅仅使用Feature类之前) 具体来说,我不知道如何用我选择的不同图像显示每个功能。我已经看到了一些关于如何使用样式图更改功能样式的示例,但是我还没有看到直接设置功能图像的方法 这似乎是一个简单的问题,但我还没有找到解决办法。我当前正在尝试使用样式属性: var feature = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.

我正在将代码从使用标记层转换为向量层。我在地图上作为Feature.Vector类显示标记时遇到问题(在我仅仅使用Feature类之前)

具体来说,我不知道如何用我选择的不同图像显示每个功能。我已经看到了一些关于如何使用样式图更改功能样式的示例,但是我还没有看到直接设置功能图像的方法

这似乎是一个简单的问题,但我还没有找到解决办法。我当前正在尝试使用样式属性:

var feature = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(ll.lon, ll.lat), {externalGraphic: "http://www.openlayers.org/dev/img/marker.png"}); 
但是,这只会产生正常的默认图标(橙色圆圈)

设置功能的data.icon和创建标记同样无效


提前谢谢

在图层样式中放置占位符,该图层样式由要素属性填充

var style=OpenLayers.Util.extend({
外部图形:“${icon}”,
点半径:15
},OpenLayers.Feature.Vector.style['default']);
var layer=new OpenLayers.layer.Vector(“简单几何体”{style:style}),
点=新的OpenLayers.Geometry.point(ll.lon,ll.lat),
feature=newopenlayers.feature.Vector(点,{icon:“icon.png”});
图层。添加特征(特征);

为什么要使用矢量层来显示标记?Alex,我将改为矢量层,因为它有更多的功能-我将使用geometry类在地图上添加诸如聚类和旋转等功能。如果忽略PointRadius,则外部图形根本不会显示。塔克斯,救了我。向上投票!