{"version":3,"file":"MapViewer.BAEr2RB3.mjs","names":["useState","useRef","zoom","useCallback","tileSize"],"sources":["https:/framerusercontent.com/modules/zE5Y835FtjhCGu7rDmEE/bA7oufPGiQ50pOn9Su5W/MapViewer.js"],"sourcesContent":["// Google Map component using OpenStreetMap without API key\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect,useRef,startTransition,useCallback}from\"react\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function MapViewer(props){const{latitude=37.7749,longitude=-122.4194,zoom=13,mapType=\"roadmap\",showMarker=true,markerColor=\"#FF0000\",markerSize=30,enablePanning=true}=props;const[mapLoaded,setMapLoaded]=useState(false);const[containerSize,setContainerSize]=useState({width:400,height:300});const[mapCenter,setMapCenter]=useState({lat:latitude,lng:longitude});const[isDragging,setIsDragging]=useState(false);const[dragStart,setDragStart]=useState({x:0,y:0});const[dragOffset,setDragOffset]=useState({x:0,y:0});const mapRef=useRef(null);// Update map center when props change\nuseEffect(()=>{setMapCenter({lat:latitude,lng:longitude});setDragOffset({x:0,y:0});},[latitude,longitude]);// Map type to tile server mapping\nconst getTileServer=()=>{switch(mapType){case\"satellite\":return\"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}\";case\"terrain\":return\"https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png\";case\"hybrid\":return\"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}\";default:return\"https://tile.openstreetmap.org/{z}/{x}/{y}.png\";}};// Convert lat/lng to tile coordinates\nconst latLngToTile=(lat,lng,zoom)=>{const x=(lng+180)/360*Math.pow(2,zoom);const y=(1-Math.log(Math.tan(lat*Math.PI/180)+1/Math.cos(lat*Math.PI/180))/Math.PI)/2*Math.pow(2,zoom);return{x,y};};// Convert pixel offset to lat/lng offset\nconst pixelToLatLng=useCallback((pixelX,pixelY,zoom)=>{const tileSize=256;const scale=Math.pow(2,zoom);const lngOffset=pixelX/tileSize*(360/scale);const latOffset=-(pixelY/tileSize)*(360/scale)*Math.cos(mapCenter.lat*Math.PI/180);return{latOffset,lngOffset};},[mapCenter.lat]);// Handle mouse down for dragging\nconst handleMouseDown=useCallback(e=>{if(!enablePanning)return;e.preventDefault();setIsDragging(true);setDragStart({x:e.clientX,y:e.clientY});},[enablePanning]);// Handle mouse move for dragging\nconst handleMouseMove=useCallback(e=>{if(!isDragging||!enablePanning)return;const deltaX=e.clientX-dragStart.x;const deltaY=e.clientY-dragStart.y;setDragOffset({x:deltaX,y:deltaY});},[isDragging,dragStart,enablePanning]);// Handle mouse up to finish dragging\nconst handleMouseUp=useCallback(()=>{if(!isDragging||!enablePanning)return;const{latOffset,lngOffset}=pixelToLatLng(dragOffset.x,dragOffset.y,zoom);startTransition(()=>{setMapCenter(prev=>({lat:Math.max(-85,Math.min(85,prev.lat+latOffset)),lng:(prev.lng-lngOffset+180)%360-180}));setIsDragging(false);setDragOffset({x:0,y:0});});},[isDragging,dragOffset,zoom,pixelToLatLng,enablePanning]);// Handle keyboard navigation\nconst handleKeyDown=useCallback(e=>{if(!enablePanning)return;const step=20// pixels\n;let deltaX=0;let deltaY=0;switch(e.key){case\"ArrowUp\":deltaY=step;break;case\"ArrowDown\":deltaY=-step;break;case\"ArrowLeft\":deltaX=step;break;case\"ArrowRight\":deltaX=-step;break;default:return;}e.preventDefault();const{latOffset,lngOffset}=pixelToLatLng(deltaX,deltaY,zoom);startTransition(()=>{setMapCenter(prev=>({lat:Math.max(-85,Math.min(85,prev.lat+latOffset)),lng:(prev.lng-lngOffset+180)%360-180}));});},[zoom,pixelToLatLng,enablePanning]);// Add global event listeners\nuseEffect(()=>{if(typeof window===\"undefined\")return;window.addEventListener(\"mousemove\",handleMouseMove);window.addEventListener(\"mouseup\",handleMouseUp);window.addEventListener(\"keydown\",handleKeyDown);return()=>{window.removeEventListener(\"mousemove\",handleMouseMove);window.removeEventListener(\"mouseup\",handleMouseUp);window.removeEventListener(\"keydown\",handleKeyDown);};},[handleMouseMove,handleMouseUp,handleKeyDown]);// Update container size when component mounts or resizes\nuseEffect(()=>{const updateSize=()=>{if(mapRef.current){const rect=mapRef.current.getBoundingClientRect();setContainerSize({width:rect.width,height:rect.height});}};if(typeof window!==\"undefined\"){updateSize();startTransition(()=>setMapLoaded(true));const resizeObserver=new ResizeObserver(updateSize);if(mapRef.current){resizeObserver.observe(mapRef.current);}return()=>resizeObserver.disconnect();}},[]);if(!mapLoaded){return /*#__PURE__*/_jsx(\"div\",{ref:mapRef,style:{width:\"100%\",height:\"100%\",backgroundColor:\"#f0f0f0\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"#666\",fontSize:\"14px\",...props.style},children:\"Loading map...\"});}const tileSize=256;const{width:mapWidth,height:mapHeight}=containerSize;// Use current map center (which may be different from props due to panning)\nconst currentLat=mapCenter.lat;const currentLng=mapCenter.lng;// Get the exact tile coordinates for the center point\nconst centerTileCoords=latLngToTile(currentLat,currentLng,zoom);// Calculate how many tiles we need to cover the map area\nconst tilesX=Math.ceil(mapWidth/tileSize)+2;const tilesY=Math.ceil(mapHeight/tileSize)+2;// Calculate the starting tile indices\nconst startTileX=Math.floor(centerTileCoords.x)-Math.floor(tilesX/2);const startTileY=Math.floor(centerTileCoords.y)-Math.floor(tilesY/2);// Calculate the pixel offset to center the map\nconst centerPixelX=mapWidth/2;const centerPixelY=mapHeight/2;// Calculate the offset from the center tile to the exact coordinate\nconst offsetX=(centerTileCoords.x-Math.floor(centerTileCoords.x))*tileSize;const offsetY=(centerTileCoords.y-Math.floor(centerTileCoords.y))*tileSize;const tiles=[];for(let i=0;i<tilesX;i++){for(let j=0;j<tilesY;j++){const tileX=startTileX+i;const tileY=startTileY+j;// Check if tile coordinates are valid\nif(tileX>=0&&tileY>=0&&tileX<Math.pow(2,zoom)&&tileY<Math.pow(2,zoom)){const tileUrl=getTileServer().replace(\"{z}\",zoom.toString()).replace(\"{x}\",tileX.toString()).replace(\"{y}\",tileY.toString());// Position tiles relative to the center, including drag offset\nconst left=centerPixelX+(i-Math.floor(tilesX/2))*tileSize-offsetX+dragOffset.x;const top=centerPixelY+(j-Math.floor(tilesY/2))*tileSize-offsetY+dragOffset.y;tiles.push(/*#__PURE__*/_jsx(\"img\",{src:tileUrl,style:{position:\"absolute\",left:left,top:top,width:tileSize,height:tileSize,pointerEvents:\"none\"},alt:\"\",onError:e=>{// Hide broken tiles\ne.currentTarget.style.display=\"none\";}},`${tileX}-${tileY}`));}}}return /*#__PURE__*/_jsxs(\"div\",{ref:mapRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",backgroundColor:\"#f0f0f0\",cursor:enablePanning?isDragging?\"grabbing\":\"grab\":\"default\",outline:\"none\",...props.style},onMouseDown:handleMouseDown,tabIndex:enablePanning?0:-1,children:[tiles,showMarker&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:centerPixelX-markerSize/2,top:centerPixelY-markerSize,width:markerSize,height:markerSize,pointerEvents:\"none\",zIndex:1e3},children:/*#__PURE__*/_jsx(\"svg\",{width:markerSize,height:markerSize,viewBox:\"0 0 24 24\",fill:markerColor,style:{filter:\"drop-shadow(0 2px 4px rgba(0,0,0,0.3))\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"})})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",bottom:4,right:4,fontSize:\"10px\",color:\"#666\",backgroundColor:\"rgba(255,255,255,0.8)\",padding:\"2px 4px\",borderRadius:\"2px\",pointerEvents:\"none\"},children:\"\\xa9 OpenStreetMap\"}),enablePanning&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:4,left:4,fontSize:\"10px\",color:\"#666\",backgroundColor:\"rgba(255,255,255,0.8)\",padding:\"2px 4px\",borderRadius:\"2px\",pointerEvents:\"none\"},children:\"Drag to pan • Arrow keys to navigate\"})]});}addPropertyControls(MapViewer,{latitude:{type:ControlType.Number,title:\"Latitude\",defaultValue:37.7749,min:-90,max:90,step:1e-4,displayStepper:true},longitude:{type:ControlType.Number,title:\"Longitude\",defaultValue:-122.4194,min:-180,max:180,step:1e-4,displayStepper:true},zoom:{type:ControlType.Number,title:\"Zoom Level\",defaultValue:13,min:1,max:18,step:1,displayStepper:true},mapType:{type:ControlType.Enum,title:\"Map Type\",options:[\"roadmap\",\"satellite\",\"hybrid\",\"terrain\"],optionTitles:[\"Road Map\",\"Satellite\",\"Hybrid\",\"Terrain\"],defaultValue:\"roadmap\",displaySegmentedControl:true},enablePanning:{type:ControlType.Boolean,title:\"Enable Panning\",defaultValue:true,enabledTitle:\"Enabled\",disabledTitle:\"Disabled\"},showMarker:{type:ControlType.Boolean,title:\"Show Marker\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},markerColor:{type:ControlType.Color,title:\"Marker Color\",defaultValue:\"#FF0000\",hidden:({showMarker})=>!showMarker},markerSize:{type:ControlType.Number,title:\"Marker Size\",defaultValue:30,min:10,max:60,step:2,unit:\"px\",hidden:({showMarker})=>!showMarker}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MapViewer\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MapViewer.map"],"mappings":"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"}