【发布时间】:2019-11-21 15:07:23
【问题描述】:
我在 feet 中有对象(在我的情况下为天线)的实时位置(x,y),我想在 fabricJs 画布上显示它们(宽度:400px 和高度: 400px) 以 像素 为单位,但我不知道 将英尺测量值转换为像素 的公式。
【问题讨论】:
标签: javascript geolocation geometry fabricjs
我在 feet 中有对象(在我的情况下为天线)的实时位置(x,y),我想在 fabricJs 画布上显示它们(宽度:400px 和高度: 400px) 以 像素 为单位,但我不知道 将英尺测量值转换为像素 的公式。
【问题讨论】:
标签: javascript geolocation geometry fabricjs
您可能希望将地图缩小到 400 像素 x 400 像素的网格。假设您有一个 l x w 大小的实时地图,您可以执行以下操作:
function positionToPixels(x, y) {
//You may want to parseInt or something
let newX = 400 * x / w;
let newY = 400 * y / l;
return [newX, newY];
}
我们所做的只是说原始对象与边缘的距离将与映射对象与其边缘的距离成正比
【讨论】:
这取决于 英尺 的面积。 如果以英尺为单位的面积 = 1000x1000,您可以这样做:
const areaF = {w: 1000, h: 1000};
const areaP = {w: 400, h: 400};
const locationFeetToPixel (x, y) {
const relativeX = x / areaF.w;
const relativeY = y / areaF.h;
const pX = areaP.w * relativeX;
const pY = areaP.h * relativeY;
return {x: pX, y: pY};
}
【讨论】:
只需将您的宽度和高度值与字符串“px”连接并使用 CSS 应用
【讨论】: