草庐IT

openlayers滚轮

全部标签

javascript - 在 Openlayers 中单击 map 外部时如何激活功能 + 弹出窗口?

我正在重新解析已经加载到map上的KML,类似于此处的示例:http://openlayers.org/dev/examples/sundials.html并将其变成一个可点击的列表,将map集中在点击的点上,并显示它的弹出窗口。这在Googlemap中确实很容易做到,但我找不到任何类似的Openlayers示例。有没有更简单的方法来做到这一点?我缺少什么内置的东西?HTML:JS:htmlRows="";for(varfeatinfeatures){//BuilddetailstablefeatId=features[feat].id;//determinethefeatureIDt

javascript - 禁用预测滚动 - 鼠标滚轮 (OnScroll) 事件触发过于频繁(触摸板)

我正在执行JavascriptonScroll。我的代码适用于任何普通计算机鼠标,但是当我使用笔记本的触摸板时,我遇到以下情况:当手指移动滚轮时,我的鼠标会触发(大约1到8次)mousewheel事件。我的触摸板触发了更多(~60)个mousewheel事件,同时两根手指触摸触摸板并在我的手指再次悬空后继续触发。我知道移动触摸设备的这种行为。该功能称为“预测触摸”-如果您的手指移动在抬起之前有足够的加速度,则滚动会继续。我认为触摸板驱动程序正在设置这种“平滑滚动”行为。为了调试这种情况,我使用了以下代码:/*HandleMouse-WheelScrolling*/varlastChan

javascript - 为什么 Firefox 不将所有鼠标滚轮事件传递到我的 javascript 应用程序?

我正在使用protovis库(http://mbostock.github.com/protovis/)绘制图形。我上传了我正在使用的代码,以防有人想看一下:http://jsfiddle.net/zobel/brEAD/这是我的问题:在Firefox下,当我使用鼠标滚轮放大或缩小时,某些鼠标滚轮事件不是由我的应用程序捕获的,而是由Firefox本身捕获的。结果是我最终得到了缩放和页面滚动的混合。您可以通过缩小Firefox窗口直到滚动条可见来对此进行测试。Opera下不会出现此问题。为什么会发生,我该如何解决?非常感谢。 最佳答案

javascript - OpenLayers 和 GeoJSON,不在同一坐标上乘以标记

我的代码显示来自GeoJSON的标记,当我放大到缩放级别10时,它会加载GeoJSON文件,但我如何避免输出相同的标记?有没有办法检查特定位置是否已经存在标记?代码map.events.register("zoomend",null,function(){if(map.zoom==10){varbounds=map.getExtent();console.log(bounds);varne=newOpenLayers.LonLat(bounds.right,bounds.top).transform(map.getProjectionObject(),wgs84);varsw=newO

javascript - OpenLayers 3 获取列表中所有功能内容的范围

我想放大列表中包含的所有要素的范围。首先,我将我的功能放在一个列表中:selectedFeatures=[];vector2.getSource().forEachFeature(function(feature){varatt=feature.get("NOM");if(att==strUser){selectedFeatures.push(feature);}});其次,这是我的问题...我想放大列表“selectedFeatures”中所有特征的范围我试过这个,但总是返回一个无限的范围:varvectorSource=newol.source.Vector({projection

javascript - 将散列模式应用于 openlayers 中的多边形

我正在使用Openlayers创建一个由来自KML文件的多边形组成的矢量图层,我需要对多边形应用“散列”模式(对Angular线条纹)。我知道Openlayers本身不支持将背景图像添加到矢量图层中的多边形,但我想知道是否有人对如何实现这一点有任何想法?矢量多边形的样式似乎仅限于纯色和不透明度。如果需要,我将通过在多边形边界内手动绘制散列线来扩展OpenLayers以添加此功能,但我希望在我走这条路之前有人能提供更简单的建议。 最佳答案 现在可以使用SLD完成此操作。不确定它是在2.11版还是主干开发中,但我看到了additionw

javascript - 使用鼠标滚轮和滚动条平滑垂直页面滚动

我正在玩弄并尝试建立一个视差网站-是的,我知道它们是一种令人讨厌的时尚,但我仍然想尝试一下。因此,为了获得灵感,我一直在查看各种优秀视差网站的示例并发现了这个网站:https://victoriabeckham.landrover.com/INT.它可以使用鼠标滚轮、滚动条和anchor链接进行平滑滚动。我一直在寻找可以实现这种效果的jQuery插件,但似乎只能找到使用内部页面链接的插件-anchor或ID(详见下文)-但不是鼠标滚轮和滚动条。我很有可能使用了错误的关键字进行搜索。有谁知道找到这些插件的正确术语或知道任何可以实现这种效果的插件吗?附带说明一下,我目前正在学习jQuery

javascript - 在 OpenLayers 3 中选择功能时是否有事件?

http://ol3js.org/en/master/examples/select-features.html鉴于上述示例,选择功能时有哪些扩展点可以Hook? 最佳答案 这是一个可能比Danny的更直观的解决方案,而且似乎也是“官方”方式,请参见thisissueonol3'sGitHub.只需将监听器添加到所选功能的集合中即可:mySelectInteraction.getFeatures().on('change:length',function(e){if(e.target.getArray().length===0){a

javascript - OpenLayers 集群重新计算

所以,我有一些项目聚集在OpenLayers中。我正在使用一种根据属性对项目进行聚类的策略。我更改项目的属性。如何获取聚类策略以重新计算集群? 最佳答案 好的,事实证明从2.11RC1开始,该功能在OpenLayers中不可用。因此,我自己将其实现为Cluster类的影子。该代码也可作为OpenLayersTrac中的补丁提供.这个答案末尾的代码可以直接放到一个javascript文件中,并将覆盖现有的OpenLayersOpenLayers.Strategy.Cluster类。它添加了一个方法recluster,当调用该方法时,将

javascript - Openlayers 在 OpenStreetMaps 图层上圈出多边形

我正在尝试创建一个具有定义中心的圆并在其上放置一个图标标记。如果我使用图像而不是OpenLayers.Geometry.Polygon.createRegularPolygon,代码就可以工作。我无法解决它。在这里你可以找到我的代码:OpenLayersExamplemap=newOpenLayers.Map("mapdiv");map.addLayer(newOpenLayers.Layer.OSM());epsg4326=newOpenLayers.Projection("EPSG:4326");//WGS1984projectionprojectTo=map.getProject