我正在尝试编写一个Javascript
函数,它允许我输入任何一组边界并返回该区域的形状(例如提供堪萨斯的边界并恢复其形状)。我已经有了界限并且知道我可以创建svg polygon
并将其points
属性设置为bounds数组(转换为字符串)。我也明白,因为points
确实是latLngs
我应该将viewBox
attr设置为整个世界的边界(这样我才能真正输入任何坐标集)。我无法理解的是我如何有效地放大"放大"这样我才能真正看到形状。使用下面的功能,我成功地将其渲染,但它非常小,我不确定如何使它尽可能多地适合盒子?我开始关注D3,但后来不确定这是最好的解决方案,因为我不想把它们放在地图上,我只是想吸引它们。
var pointsData = function(bounds) ->
points = []
i = 0
while i < bounds.length
points.push bounds[i].lat + ' ' + bounds[i].lng
i++
return points.toString().replace(",", "");;
然后将给定points
的{{1}} attr设置为svg
函数的结果。
编辑&gt;溶液
使用HTML5 Canvas和地图投影仪功能结束: http://jsfiddle.net/xtjgwa45/1/