SVG未在Google地图的可见区域之外绘制

时间:2013-02-15 16:40:35

标签: css html5 google-maps svg d3.js

我使用Mike Bostok的example在谷歌地图中使用d3来显示轮廓图。这是我的代码:

http://bl.ocks.org/4959573

一切似乎都很好,除了不会在谷歌地图的可见区域之外绘制等高线图。我设法通过玩地图的尺寸​​来解决这个问题:

#map {
  width: 100%;
  height: 3000px;
  top: -1000px;
}

这不是最佳的,并不能完全解决问题,因为如果我放大太多,绘图的大小将迅速超过地图的大小,平移地图将使其可见。

还有其他方法可以解决吗?

1 个答案:

答案 0 :(得分:1)

OP解决他们自己的问题,从评论中引用并重新格式化:

我将地图样式更改为:

#map {
  width: 100%;
  height: 100%;
}

轮廓图层的样式修改如下:

cont_layer
    .attr("width","8000px")
    .attr("height","8000px")
    .style("position","absolute")
    .style("top","-4000px")
    .style("left","-4000px");

SVG路径的x和y坐标必须移动+ 4000px才能进行补偿。