我如何找到任何任意点的给定半径内的所有标记/特征并存储所述标记的后期/lng ?



给定一个点,比如[-75.343,39.984],我如何找到半径5公里内的所有特征/标记?我正在使用turf.js,所以我将使用他们的circle()函数来生成关于点的圆。

这个可行吗?

const center = [-75.343, 39.984];
const radius = 5;
const options = {steps: 10, units: 'kilometers', properties: {foo: 'bar'}};
const circle = turf.circle(center, radius, options);
}
const features = map.queryRenderedFeatures(
circle,
{ filter:  {["within", circle] : true} }
);

我希望找到圆圈内的所有特征,并能够将它们存储在数组或数据库中,以便进一步处理,如访问特征的lat/lng等。

谢谢你的帮助!

使用queryRenderedFeatures,您将能够获得实际上在视口中(可见)的功能。如果你的源数据是GeoJSON,你可以使用querySourceFeatures,所以它会看你所有的源特性:

const filteredFeatures = map.querySourceFeatures('routes', {
filter: ['within', circle]
});

相关内容

  • 没有找到相关文章

最新更新