Sin*_*ity 1 javascript openlayers-3
我正在尝试使用取自官方 OL3 示例页面的以下方法创建鼠标悬停事件:
http://openlayers.org/en/latest/examples/earthquake-clusters.html
我只需要在悬停在特定图层上时触发操作。查阅官方文档后,我发现您可以将图层过滤器功能与 hasFeatureAtPixel 一起使用,但它似乎不起作用。
map.on('pointermove', function(evt) {
if (evt.dragging) {
return;
}
var pixel = map.getEventPixel(evt.originalEvent);
var hit = map.hasFeatureAtPixel(pixel, function(feature, layer) {
console.log(layer);
console.log(feature);
});
});
Run Code Online (Sandbox Code Playgroud)
console.log 调用导致在控制台中给出特征对象,但没有图层对象,这些返回为“未定义”。这是我需要测试图层是否正确的图层对象。
任何想法为什么这不起作用?
实际上重写了API(v4.0.1),工作示例如下:
var hit = map.hasFeatureAtPixel(e.pixel, {
layerFilter: function (layer) {
return layer.get('name') === 'test';
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2698 次 |
| 最近记录: |