【发布时间】:2018-06-17 04:38:06
【问题描述】:
我正在尝试在地理平铺地图上返回 [x,y] 地理坐标。如果您查看以下jsfiddle 的控制台日志,您会发现它们出错了。我正在使用 projection.invert() 函数,我假设它从像素向后工作以返回地理坐标……我做错了什么?
这是一段试图获取坐标的代码:
function mousemoved() {
console.log(formatLocation(projection.invert(d3.mouse(this)), d3.zoomTransform(this).k));
}
function formatLocation(p, k) {
var format = d3.format("." + Math.floor(Math.log(k) / 2 - 2) + "f");
return (p[1] < 0 ? format(-p[1]) + "°S" : format(p[1]) + "°N") + " "
+ (p[0] < 0 ? format(-p[0]) + "°W" : format(p[0]) + "°E");
}
【问题讨论】:
-
我猜那个投反对票的家伙知道问题的答案...... :)
-
没有投反对票,但可能对此有答案(我发现 d3-tile 投影有点绕圈子,反转它可能也需要绕圈子)。
-
你好安德鲁。我一直在为 D3 Tiles 上的投影而苦苦挣扎。我在这里提出了另一个类似的问题:stackoverflow.com/questions/50891330/…
标签: javascript d3.js