1
我使用Mapbox GL JS来查找用户在地图上单击的点击点的最近特征。它的工作很棒。但是我想输出一个近似的距离。即时通讯使用是下面的代码...Mapbox GL与bbox的大致距离
function nearestFeature(y,x) {
var bbox = [[y, x], [y, x]];
var featuresBuilding = map.queryRenderedFeatures(bbox, { layers: ['MyBuildingLayer'] });
if (featuresBuilding[0]) {
//found
}else{
//widen the area
for (i = 1;i<100;i++) {
bbox = [[y-i, x-i], [y+i, x+i]];
featuresBuilding = map.queryRenderedFeatures(bbox, { layers: ['MyBuildingLayer'] });
if (featuresBuilding[0]) {
//calculate distance
var distance = 100*i;
break;
}
}
}
}
我可能会复杂化这个问题,但本质上我需要计算出的距离分的差距是X/Y和乘以米的距离获得一个粗略的估计。我用VAR距离= 100 *我来说明这一点,我需要弄清楚如何确定虚拟100人的身影......
是您的目标,以“一站式”搜索一旦你打的特点X量我认为你需要什么?澄清一点。 – snkashis
本质上,我开始拓宽BBOX,直到我击中图层上的特定建筑。真的这个信息是补充的。我需要找出的是如何将点差转换为距离。 – RedCrusador
仍然不明白你的问题的本质。也许你可以进一步解释你想要达到的目标以及问题所在。我可以理解你的代码,但是我没有得到:“找出X/Y点差异的距离”。 –