簡體   English   中英

如何在任意點的給定半徑內找到所有標記/特征並存儲所述標記的緯度/經度?

[英]How do I find all markers/features within a given radius of any arbitrary point and store the lat/lng of said markers?

給定一個點,比如 [-75.343, 39.984],我如何找到它 5 公里半徑內的所有特征/標記? 我正在使用 turf.js,所以我將使用他們的circle() function 來生成關於該點的圓。

這行得通嗎?

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} }
);

我希望找到圓圈內的所有特征,並能夠將它們存儲在數組或數據庫中以進行進一步處理,例如訪問特征的緯度/經度等。

感謝您的幫助!

使用queryRenderedFeatures您將能夠獲得實際在視口中的特征(可見)。 如果您的源數據是 GeoJSON,您可以使用querySourceFeatures ,因此它將查看您的所有源功能:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM