A Chrome extension that streamlines your Google Maps workflow โ search locations, get directions, and manage favorites with a single shortcut or right-click, plus AI-powered place summaries via Gemini.
No workflow disruption. No context switching. Just fast maps.
| Feature | Details |
|---|---|
| Quick Search | Highlight text + Ctrl+Shift+S / โ+โง+S or right-click โ instant Google Maps search |
| Search Bar | Open via Alt+Shift+S / โฅ+โง+S or click icon โ search without leaving the page |
| Quick Directions | Right-click highlighted text or press Alt+R / โฅ+R โ get directions instantly |
| Search History | Auto-saves your last 10 searches for quick re-access |
| Favorites List | Save, import, and export favorite locations as CSV โ works with Google My Maps |
| Place Summary | AI-powered summaries of locations on any page via Gemini Flash |
| Video Summary | Extract and summarize locations mentioned in YouTube videos |
| Auto-attach Links | Automatically detect place names on web pages and attach Google Maps links |
| 3 UI languages | English ยท ็น้ซไธญๆ ยท ๆฅๆฌ่ช โ auto-detected |
| Dark / Light theme | Theme toggle following your preference |
You're browsing an article / watching a YouTube video / planning a trip
โ
โผ
Highlight a place name (or press the shortcut)
โ
โโโ Quick Search โ opens Google Maps in a grouped tab
โโโ Quick Directions โ opens Google Maps directions
โโโ Place Summary โ Gemini AI summarizes the location
โ
โผ
Search history auto-saved ยท โญ Favorite to your list
โ
โผ
Export favorites as CSV โ import into Google My Maps
โ Your personal map, built from any website
Install directly from the Chrome Web Store.
-
Clone the repository:
git clone https://github.com/boyonglin/google-maps-extension.git cd google-maps-extension npm install -
Open Chrome โ
chrome://extensions/ -
Toggle Developer mode on (top-right)
-
Click Load unpacked โ select the
Package/folder
๐ธ Step-by-step screenshots
After any code change: click Reload on the extension card in
chrome://extensions/, then refresh open tabs.
| Action | Default Shortcut | Mac Shortcut |
|---|---|---|
| Quick Search | Ctrl+Shift+S |
โ+โง+S |
| Open Search Bar | Alt+Shift+S |
โฅ+โง+S |
| Auto-attach Links | Alt+S |
โฅ+S |
| Quick Directions | Alt+R |
โฅ+R |
To customize shortcuts:
๐ธ How to change shortcuts
To enable Place Summary and Video Summary, you need a free Gemini API key:
- Go to Google AI Studio and sign in
- Agree to the terms of service
- Click Create API Key โ select a project
- Copy the key and paste it into the extension's settings
Export your favorites as CSV and import them into Google My Maps to build a personal map:
๐ธ Step-by-step screenshots
| Question | Answer |
|---|---|
| Where is data stored? | Browser-local localStorage only โ never leaves your device |
| Does it make network requests? | Only for Gemini API calls (when you use AI features) and ExtPay (payment). No tracking or telemetry on your search data. |
| Can websites see my data? | No. Data is isolated in the extension's storage, inaccessible to page scripts. |
| Can I delete my data? | Yes โ delete individual items via the popup, or clear all via browser settings. |
Your searches, favorites, and history stay on your device. The extension only calls external APIs when you explicitly use AI summary features.
| Layer | Technology |
|---|---|
| Extension framework | Chrome Manifest V3 |
| UI | HTML + Bootstrap 5.3 + SCSS |
| AI | Gemini Flash API (gemini-3.1-flash-lite-preview) |
| Payment | ExtPay |
| Persistence | localStorage |
| Localization | Chrome i18n (en ยท zh-TW ยท ja) |
| Testing | Jest + jsdom |
๐ Project Structure
.
โโโ Package/
โ โโโ _locales/ # i18n (en, zh_TW, ja)
โ โโโ css/ # Compiled CSS
โ โโโ dist/
โ โ โโโ components/ # Modular UI components
โ โ โโโ hooks/ # Custom hooks
โ โ โโโ utils/ # Utility functions
โ โ โโโ background.js # Service worker
โ โ โโโ contentScript.js # Content script
โ โ โโโ popup.js # Popup logic
โ โโโ images/ # Icons and assets
โ โโโ vendor/ # 3rd-party libraries (Bootstrap, etc.)
โ โโโ manifest.json # Extension configuration
โ โโโ popup.html # Popup interface
โโโ scss/ # SCSS source files
โโโ tests/ # Unit tests (Jest)
โโโ jest.config.js
โโโ package.json
| Target | How to reach it |
|---|---|
| Background Service Worker | chrome://extensions/ โ The Maps Express โ Service worker |
| Popup | Right-click extension icon โ Inspect popup |
| Content scripts | DevTools โ Sources โ Content scripts |
| localStorage | DevTools โ Application โ Local Storage |
npm test # Run all unit tests
npm run test:watch # Watch mode
npm run test:coverage # Coverage reportPRs and issues are welcome! Please open an issue to discuss significant changes before submitting a PR.
- Bug reports: open an issue
- Feature requests: open an issue
- Code contributions: fork โ branch โ PR
MIT ยฉ 2023โ2026 Clancy Lin
- Chrome Extensions Documentation
- Chrome Extension ้็ผ่ๅฏฆไฝ โ ็พ ๆๆ
- Localizing Your Chrome Extension โ Shahed Nasser
- ็ฐกๅฎ็จ Chrome Extension ๆฅ Gemini API โ Wolke
- Chin-Hsuan Sun
- Michael Wu
















