@pansy/react-mapbox-gl
Version:
🌍 基于 Mapbox GL 封装的 React 组件库
30 lines (24 loc) • 657 B
text/typescript
import type { LngLatLike, LngLat } from 'mapbox-gl';
import mapbox from 'mapbox-gl';
export const toLngLat = (position: LngLatLike): LngLat | null => {
if (!position) return null;
if ('toBounds' in position) {
return position;
}
let lng = 0;
let lat = 0;
if (Array.isArray(position)) {
lng = position[0];
lat = position[1];
} else if ('lng' in position && 'lat' in position) {
lng = position.lng;
lat = position.lat;
} else if ('lon' in position && 'lat' in position) {
lng = position.lon;
lat = position.lat;
}
if (lng !== 0 && lat !== 0) {
return new mapbox.LngLat(lng, lat);
}
return null;
};