Openlayers 3 如何区分Openlayers3中的功能

Openlayers 3 如何区分Openlayers3中的功能,openlayers-3,Openlayers 3,最近,我正在开发一个映射工具,并选择openlayers3作为前端映射APi。 在我的地图图层中,它有几何图形和图像,我想添加一个功能,当我点击不同类型的功能时,它将执行不同的操作 在代码中,我需要识别它来自图像或几何体。非常感谢你们的帮助 你做了一个很好的选择。有几种方法可以做到这一点。您可以将特性存储在功能中并进行检查,如: map.on('click',函数(evt){ var feature=map.forEachFeatureAtPixel(evt.pixel, 函数(ft,层){re

最近,我正在开发一个映射工具,并选择openlayers3作为前端映射APi。 在我的地图图层中,它有几何图形和图像,我想添加一个功能,当我点击不同类型的功能时,它将执行不同的操作


在代码中,我需要识别它来自图像或几何体。非常感谢你们的帮助

你做了一个很好的选择。有几种方法可以做到这一点。您可以将特性存储在功能中并进行检查,如:

map.on('click',函数(evt){
var feature=map.forEachFeatureAtPixel(evt.pixel,
函数(ft,层){return ft;}
);
//这里我使用的是feature.get('type'),但可以是任何名称
if(feature&&feature.get('type')=='some_value'){
//现在您有了单击功能
}
});

请注意,所有功能()都有一个几何体。

否决票可能会有一个解释,这样OP就不会被蒙在鼓里。让我们完成这个问题吧?在JSFIDLE上显示代码怎么样?猜测你做错了什么并不容易。@Jonatas Walker谢谢Jonatas,我有一个关于图标属性的问题,你能解释一下吗[anchor,anchor,offset,offsetOrigin,size]对我来说,因为openlayers网站没有给出更多的解释,这让我很困惑,当我更改anchor或offset时,它们都可以更改图标位置,可以更改偏移量和大小都可以剪切图标,Orign的意思是什么,这些属性让我困惑了很长时间,可以向我解释一下,谢谢dvance.这是另一个问题。让我们先完成这个问题。如果这个问题解决了,请标记为正确。是的,完成了,感谢您的持续帮助,我将为我提出的新问题创建另一个问题。感谢您的帮助,基于您的代码,我需要添加名为“type”的自定义属性,当我定义特定功能时。我不知道我认为什么是正确的或不正确的?谢谢Invace。不必是
'type'
。它可以是任何东西。作为这个问题的扩展,该层是从某个政府地图服务器请求的,如果使用这种方式,我必须确保它们的功能是否具有此类属性。(它们有一个名为“name”的属性,每个图像功能都有不同的名称,很难使用它)我不知道是否有一种通用的方法通过openlayers的内置方法来解决这个问题,我尝试使用以下语句:feature.getStyle.getImage()!=null,当我单击几何体时出现错误,显示:Uncaught TypeError:无法读取null的属性“getImage”。