✨ 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
72 lines
1.8 KiB
JavaScript
72 lines
1.8 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.transformDoublesReply = exports.transformDoubleReply = exports.pushCompressionArgument = void 0;
|
|
const ADD = require("./ADD");
|
|
const BYRANK = require("./BYRANK");
|
|
const BYREVRANK = require("./BYREVRANK");
|
|
const CDF = require("./CDF");
|
|
const CREATE = require("./CREATE");
|
|
const INFO = require("./INFO");
|
|
const MAX = require("./MAX");
|
|
const MERGE = require("./MERGE");
|
|
const MIN = require("./MIN");
|
|
const QUANTILE = require("./QUANTILE");
|
|
const RANK = require("./RANK");
|
|
const RESET = require("./RESET");
|
|
const REVRANK = require("./REVRANK");
|
|
const TRIMMED_MEAN = require("./TRIMMED_MEAN");
|
|
exports.default = {
|
|
ADD,
|
|
add: ADD,
|
|
BYRANK,
|
|
byRank: BYRANK,
|
|
BYREVRANK,
|
|
byRevRank: BYREVRANK,
|
|
CDF,
|
|
cdf: CDF,
|
|
CREATE,
|
|
create: CREATE,
|
|
INFO,
|
|
info: INFO,
|
|
MAX,
|
|
max: MAX,
|
|
MERGE,
|
|
merge: MERGE,
|
|
MIN,
|
|
min: MIN,
|
|
QUANTILE,
|
|
quantile: QUANTILE,
|
|
RANK,
|
|
rank: RANK,
|
|
RESET,
|
|
reset: RESET,
|
|
REVRANK,
|
|
revRank: REVRANK,
|
|
TRIMMED_MEAN,
|
|
trimmedMean: TRIMMED_MEAN
|
|
};
|
|
function pushCompressionArgument(args, options) {
|
|
if (options?.COMPRESSION) {
|
|
args.push('COMPRESSION', options.COMPRESSION.toString());
|
|
}
|
|
return args;
|
|
}
|
|
exports.pushCompressionArgument = pushCompressionArgument;
|
|
function transformDoubleReply(reply) {
|
|
switch (reply) {
|
|
case 'inf':
|
|
return Infinity;
|
|
case '-inf':
|
|
return -Infinity;
|
|
case 'nan':
|
|
return NaN;
|
|
default:
|
|
return parseFloat(reply);
|
|
}
|
|
}
|
|
exports.transformDoubleReply = transformDoubleReply;
|
|
function transformDoublesReply(reply) {
|
|
return reply.map(transformDoubleReply);
|
|
}
|
|
exports.transformDoublesReply = transformDoublesReply;
|