@expofp/floorplan
Version:
Interactive floor plan library for expos and events
2 lines (1 loc) • 930 B
JavaScript
export function cameraToMapSettings(e){const i={};return e.x!==void 0&&e.y!==void 0&&(i.centerxy=`${e.x},${e.y}`),e.lat!==void 0&&e.lng!==void 0&&(i.center=`${e.lat},${e.lng}`),e.floor!==void 0&&(i.z=e.floor),e.bearing!==void 0&&(i.bearing=e.bearing),e.zoomTime!==void 0&&(i.zoomtime=e.zoomTime),e.pitchTime!==void 0&&(i.pitchtime=e.pitchTime),e.pitchDegrees!==void 0&&(i.pitchdegrees=e.pitchDegrees),i}export function mapSettingsToCamera(e){const i={},n=parseNumberPair(e.centerxy);n&&([i.x,i.y]=n);const f=parseNumberPair(e.center);return f&&([i.lat,i.lng]=f),e.z!==void 0&&(i.floor=e.z),e.bearing!==void 0&&(i.bearing=e.bearing),e.zoomtime!==void 0&&(i.zoomTime=e.zoomtime),e.pitchtime!==void 0&&(i.pitchTime=e.pitchtime),e.pitchdegrees!==void 0&&(i.pitchDegrees=e.pitchdegrees),i}export function parseNumberPair(e){if(!e)return;const i=e.split(",").map(Number);if(!(i.length!==2||!i.every(Number.isFinite)))return[i[0],i[1]]}