✨ MAJOR FEATURES: • Auto-zoom intelligence với smart bounds fitting • Enhanced 3D GPS markers với pulsing effects • Professional route display với 6-layer rendering • Status-based parking icons với availability indicators • Production-ready build optimizations 🗺️ AUTO-ZOOM FEATURES: • Smart bounds fitting cho GPS + selected parking • Adaptive padding (50px) cho visual balance • Max zoom control (level 16) để tránh quá gần • Dynamic centering khi không có selection 🎨 ENHANCED VISUALS: • 3D GPS marker với multi-layer pulse effects • Advanced parking icons với status colors • Selection highlighting với animation • Dimming system cho non-selected items 🛣️ ROUTE SYSTEM: • OpenRouteService API integration • Multi-layer route rendering (glow, shadow, main, animated) • Real-time distance & duration calculation • Visual route info trong popup 📱 PRODUCTION READY: • SSR safe với dynamic imports • Build errors resolved • Global deployment via Vercel • Optimized performance 🌍 DEPLOYMENT: • Vercel: https://whatever-ctk2auuxr-phong12hexdockworks-projects.vercel.app • Bundle size: 22.8 kB optimized • Global CDN distribution • HTTPS enabled 💾 VERSION CONTROL: • MapView-v2.0.tsx backup created • MAPVIEW_VERSIONS.md documentation • Full version history tracking
1 line
1.2 KiB
JavaScript
1 line
1.2 KiB
JavaScript
(function(){"use strict";var r={361:function(r){r.exports=require("events")},997:function(r,e,t){r.exports=function(){var r=t(361);var e={};e.createDomain=e.create=function(){var e=new r.EventEmitter;function emitError(r){e.emit("error",r)}e.add=function(r){r.on("error",emitError)};e.remove=function(r){r.removeListener("error",emitError)};e.bind=function(r){return function(){var e=Array.prototype.slice.call(arguments);try{r.apply(null,e)}catch(r){emitError(r)}}};e.intercept=function(r){return function(e){if(e){emitError(e)}else{var t=Array.prototype.slice.call(arguments,1);try{r.apply(null,t)}catch(e){emitError(e)}}}};e.run=function(r){try{r()}catch(r){emitError(r)}return this};e.dispose=function(){this.removeAllListeners();return this};e.enter=e.exit=function(){return this};return e};return e}.call(this)}};var e={};function __nccwpck_require__(t){var n=e[t];if(n!==undefined){return n.exports}var i=e[t]={exports:{}};var o=true;try{r[t].call(i.exports,i,i.exports,__nccwpck_require__);o=false}finally{if(o)delete e[t]}return i.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var t=__nccwpck_require__(997);module.exports=t})(); |