SVG圆圈;缩放传单地图时不会重新定位
SVG circles don't get repositioned when zooming leaflet map
我使用d3在传单地图上添加svg圆圈。我的小提琴在这儿http://jsfiddle.net/nextstopsun/C3U8g/
我添加了一个reset()函数来映射viewreset事件,以计算包含所有圆的svg-g元素的转换。此函数在地图视图重置事件中调用。
svg.attr("width", topRight[0] - bottomLeft[0])
.attr("height", bottomLeft[1] - topRight[1])
.style("margin-left", bottomLeft[0] + "px")
.style("margin-top", topRight[1] + "px");
g.attr("transform", "translate(" + -bottomLeft[0] + "," + -topRight[1] + ")");
(代码来自本例http://bost.ocks.org/mike/leaflet/)
我可以看到g元素的变换参数正在重新计算,但圆没有重新定位(或者它们重新定位错误),也没有与贴图平铺层对齐。不过,在浏览地图时一切都还可以。为了在缩放时正确重新定位,需要更改哪些内容?
除了转换包含圆的g
元素外,还需要重置圆本身的坐标:
circles.attr("cx", function (d) { return project([d.m4312, d.m4311])[0]; })
.attr("cy", function (d) { return project([d.m4312, d.m4311])[1]; });
在这里更新了jsfiddle。
相关文章:
- CSS-如何定位内容数据标题
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 在Jquery detachment()和appendTo()之后定位元素
- 困在逻辑中试图定位动态的东西
- 绝对定位不适用于Javascript DIV
- Jquery定位代码并调用它
- 如何在容器中定位旋转的图像
- 如果元素在容器外部,是否可以相对于容器以绝对定位来定位该元素
- Javascript文档.定位新窗口
- 在商店定位器谷歌地图api中的商店面板中添加新字段
- 无法使用量角器的绑定定位器定位元素
- 如何在输入地址的同时发送新的地理定位请求并刷新谷歌地图
- 添加新行并定位该行的分页
- 定位和编辑新创建的行
- e.preventDefault仍然在浏览器的新选项卡中加载定位链接
- 如何使用selenium重新加载htmlDOM,以便新命令能够定位新节点
- 第二,第三,第四,…使用CSS定位器定位量角器中的第八个元素
- 谷歌地图地理定位.地理定位提供地图,但不提供方向
- 使用ENVDTE时的Java脚本-将新项目添加到现有解决方案中,并将其定位在特定的子文件夹中
- 在发布事件数据时,如何定位要用新数据重置的正确集合