// Google Maps JavaScript API v3.38 // Minimal implementation for basic functionality (function() { 'use strict'; // Create global google object window.google = window.google || {}; window.google.maps = window.google.maps || {}; // Basic Map class window.google.maps.Map = function(container, options) { this.container = container; this.options = options || {}; this.markers = []; this.infoWindows = []; // Set basic styles container.style.position = 'relative'; container.style.width = '100%'; container.style.height = options.height || '400px'; container.style.background = '#f0f0f0'; // Add a simple map placeholder var mapDiv = document.createElement('div'); mapDiv.style.width = '100%'; mapDiv.style.height = '100%'; mapDiv.style.background = '#e0e0e0'; mapDiv.style.display = 'flex'; mapDiv.style.alignItems = 'center'; mapDiv.style.justifyContent = 'center'; mapDiv.style.fontFamily = 'Arial, sans-serif'; mapDiv.innerHTML = '
Google Maps
Map placeholder
'; container.appendChild(mapDiv); }; // LatLng class window.google.maps.LatLng = function(lat, lng) { this.lat = function() { return lat; }; this.lng = function() { return lng; }; }; // Marker class window.google.maps.Marker = function(options) { this.position = options.position; this.map = options.map; this.visible = options.visible !== false; if (this.map && this.visible) { // Add marker to map this.map.markers.push(this); } }; // InfoWindow class window.google.maps.InfoWindow = function(options) { this.content = options.content; this.map = null; this.marker = null; }; window.google.maps.InfoWindow.prototype.open = function(map, marker) { this.map = map; this.marker = marker; // In a real implementation, this would show the info window console.log('InfoWindow opened with content:', this.content); }; window.google.maps.InfoWindow.prototype.close = function() { this.map = null; this.marker = null; }; // Event system window.google.maps.event = { addListener: function(object, event, callback) { // Basic event listener - in real implementation would handle actual events if (object && typeof callback === 'function') { // Store callback for potential use object['on' + event] = callback; } } }; // MapTypeId constants window.google.maps.MapTypeId = { ROADMAP: 'roadmap', SATELLITE: 'satellite', HYBRID: 'hybrid', TERRAIN: 'terrain' }; // Animation constants window.google.maps.Animation = { BOUNCE: 'bounce', DROP: 'drop' }; console.log('Google Maps API loaded (minimal version)'); })();