我在地圖(react-native-maps )上顯示了一條路線(坐標陣列)。我想檢查路線的坐標是否在視口中以觸發一些后續操作(或不在)。
const route = [
{
latitude: 41.38145,
longitude: 2.17182,
},
{
latitude: 41.38154,
longitude: 2.17203,
},
{
latitude: 41.38155,
longitude: 2.17205,
},
];
const MapDisplay = () => {
const onRegionChange = (region) => {
//searched function
routeIsInViewport(region, route);
};
return <MapView onRegionChange={onRegionChange} />;
};
uj5u.com熱心網友回復:
您可以在該區域的補全中找到最小和最大緯度/經度,然后將該值與路線陣列進行比較以查找它是否在..
const onRegionChange = (region) => {
let lat_min = region.latitude - (region.latitudeDelta / 2);
let lat_max = region.latitude (region.latitudeDelta / 2);
let lng_min = region.longitude - (region.longitudeDelta / 2);
let lng_max = region.longitude (region.longitudeDelta / 2);
routes.map((route)=>{
if((route.latitude>=lat_min && route.latitude<=lat_max) && (route.longitude>=lng_min && route.longitude<=lng_max)){
//Within region do your stuff
}
})
};
希望有幫助,加油。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/493078.html
上一篇:反應導航如何將導航物件傳遞給tabBarButton?
下一篇:反應原生不能使用渲染項
