我使用传单,允许使用绘制自定义SVG路径(多边形)的地图。问题是,当用户放大时,多边形变得太大,并模糊了地图的其余部分。
我在网上查找了一些例子,我遇到的资源使用了d3.geo库中的geo函数。而在我的用例中,我使用的是d3、传单和地图上的SVG层。
是否有我可以应用的公式来正确调整对象的大小?我知道我将必须应用一个转换功能,它将基于宽度、高度和当前缩放级别,但我想知道是否有一种标准的方法来做到这一点?
编辑:这是我找到的一个资源,但它使用的是d3地理函数,据我所能收集的,每次地图视图被重置时,它似乎都会重新绘制多边形(这可能效率很低(?)
http://www.d3noob.org/2014/03/leafletjs-map-with-d3js-objects-that.html
发布于 2015-04-24 23:41:52
只需应用CSS来更改SVG的大小,或者使用JS修改SVG,或者每次触发滚动事件时使用任何用于SVG的内容。
Google地图在其api中有一个事件,当缩放级别发生变化时会触发该事件。https://developers.google.com/maps/documentation/javascript/events#EventProperties
https://stackoverflow.com/questions/29858864
复制相似问题