我有一个热图和一组标记,可以在OpenLayers中正常渲染。之后,当我使用map.setCenter以编程方式更改地图的中心时,热图的偏移量恰好是中心位置变化的两倍。 (因此,如果新中心位于东边1公里处,热图会向东偏移2公里)
几乎就像热图图层的重绘过度补偿一样。
有没有人遇到这个并解决了它?我试过称为heatmapLayer.redraw()无济于事。
我正在使用OpenLayers 2.13.1和Patrick Weid的heatmap.js'openlayers支持。
答案 0 :(得分:0)
我设法找到了解决办法。不知道为什么这似乎有效,但是当heatmaplayer.redraw()没有时。
为了他人的利益: -
this.map.setCenter( new OpenLayers.LonLat(lon,lat).transform(
this.transformWgs84, this.map.projection), zoom,true,true);
第二个'真'做了伎俩。根据OpenLayers文档,这应该只是强制缩放变化。它似乎也强制热图层重绘。 (第一个真实参数强制拖动事件)
文档:http://dev.openlayers.org/docs/files/OpenLayers/Map-js.html#OpenLayers.Map.setCenter