A beautiful Chrome extension that automatically shows detailed location information when you click on places in Google Maps. Get instant access to population, GDP, industries, and more!
- 🎯 Automatic Detection - Detects when you click on any city/country in Google Maps
- 🎨 Beautiful UI - Modern gradient overlay with smooth animations
- ⚡ Smart Caching - Prevents unnecessary API calls for previously viewed locations
- 📊 Rich Data - Shows population, GDP, industries, demographics, and more
- 🌍 Toggle Button - Floating button appears when a location is detected
-
API Server - You'll need the AtlasQuest API running locally first:
👉 Set up the API: AtlasQuest API Repository
-
Google Chrome - Extension works with Chrome/Chromium browsers
-
Clone this repository
git clone [email protected]:janoskocs/javascript-chrome-extension-atlas-quest.git cd javascript-chrome-extension-atlas-quest
-
Load the extension in Chrome
- Open Chrome and go to
chrome://extensions/
- Enable Developer mode (toggle in top right)
- Click Load unpacked
- Select the
javascript-chrome-extension-atlas-quest
folder
- Open Chrome and go to
-
Verify installation
- You should see "AtlasQuest" in your extensions list
- Make sure it's enabled ✅
-
Start your API server (see API repository for setup)
-
Navigate to Google Maps
https://www.google.com/maps
-
Click on any location
- Search for a city (e.g., "London", "Tokyo", "New York")
- Click on the place marker
- Or click on any location pin
-
See the magic happen!
- A floating 🌍 button will appear
- Click it to see detailed location information
- Beautiful overlay slides in with all the data
atlasquest-extension/
├── manifest.json # Extension configuration
└── src/
├── utils/
│ ├── cache.js # Simple caching system
│ └── logger.js # Logging utilities
├── services/
│ ├── locationExtractor.js # URL/location parsing
│ └── apiService.js # API communication
├── styles/
│ └── styles.css # UI styling
├── components/
│ ├── ui.js # UI rendering & DOM manipulation
│ └── observer.js # Location change detection
└── main.js # Main application orchestrator
-
Make changes to any file in the
src/
directory -
Reload the extension
- Go to
chrome://extensions/
- Click the refresh icon ↻ on the AtlasQuest extension
- Or use the keyboard shortcut
Ctrl+R
on the extensions page
- Go to
-
Test on Google Maps
- Refresh any open Google Maps tabs
- Test your changes
- Open DevTools on any Google Maps page
- Check the Console for AtlasQuest messages:
🌍 AtlasQuest: AtlasQuest starting...
🌍 AtlasQuest: New location detected: London
✅ AtlasQuest: AtlasQuest ready!
The extension connects to your local API server at:
http://localhost:5050/api/v1/location?location={locationName}
To change the API URL, edit src/services/apiService.js
:
const ApiService = {
baseUrl: "http://localhost:5050/api/v1", // Change this
// ...
};
Edit styles.css
to customize the look:
- Change colors in
.atlas-overlay
background gradient - Modify button size in
.atlas-toggle
- Adjust animation speeds in transition properties
- Cache settings: Modify
src/utils/cache.js
- Location detection: Update
src/services/locationExtractor.js
- UI layout: Edit
src/components/ui.js
- ✅ Check that the API server is running on
http://localhost:5050
- ✅ Verify extension is enabled in
chrome://extensions/
- ✅ Refresh Google Maps page after loading extension
- ✅ Check browser console for error messages
- 🔍 Try clicking on different locations in Google Maps
- 🔍 Check console for location detection messages
- 🔍 Make sure you're on
maps.google.com
, not other map sites
- 🛠️ Ensure API server is running and accessible
- 🛠️ Check network tab in DevTools for failed requests
- 🛠️ Verify API endpoint returns valid JSON
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'feat: add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Uses Google Maps for location detection
- Modern Chrome Extension Manifest
- Clean, modular architecture
Enjoy exploring the world with AtlasQuest! 🌍✨