Я использую Mapbox GL JS, чтобы узнать ближайшие объекты к точке, по которой пользователь щелкнул на карте. Он отлично работает. Но я хотел бы вывести приблизительное расстояние. Код, который я использую, приведен ниже...
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 Distance = 100 * i, чтобы проиллюстрировать это, мне нужно решить, как определить фиктивную цифру 100...
project
иunproject
? mapbox.com/mapbox-gl-js/api/#map# проект - person snkashis   schedule 11.08.2017