Skip to main content
Google
Maps Platform
Overview
Products
Pricing
Documentation
Get Started
Get Started with Google Maps Platform
Capabilities Explorer
Pricing & Billing
Security & Compliance
Reporting & Monitoring
FAQ
Support and Resources
Customer Care
Incident Management
Maps
Maps JavaScript API
Maps SDK for Android
Maps SDK for iOS
Google Maps for Flutter
Maps Embed API
Maps Static API
Imagery Insights
Street View Static API
Maps URLs
Aerial View API
Elevation API
Map Tiles API
Maps Datasets API
Web Components
Routes
Routes API
Navigation SDK for Android
Navigation SDK for iOS
Navigation for Flutter
Navigation for React Native
Roads API
Route Optimization API
Analytics
Google Earth
Solutions
Build with AI
Industry solutions
Mobility services
Places
Places API
Places SDK for Android
Places SDK for iOS
Places Library, Maps JavaScript API
Geocoding API
Geolocation API
Address Validation API
Time Zone API
Places Aggregate API
Environment
Air Quality API
Pollen API
Solar API
Weather API
Additional Resources
API Security Best Practices
Digital Signature Guide
Map Coverage Details
Optimization Guide
Mobile OS and software support
Launch stages
Legacy products
Deprecations
Asset Tracking Plan
URL Encoding
WordPress Users
Blog
Community
GitHub
YouTube
LinkedIn
Discord
Innovators
Issue Tracker
/
English
Deutsch
Español
Français
Indonesia
Português – Brasil
Русский
中文 – 简体
日本語
한국어
Sign in
Web
Maps JavaScript API
Get Started
Contact sales
Guides
Reference
Samples
Resources
Legacy
Google
Maps Platform
Overview
Products
Pricing
Documentation
More
Guides
Reference
Samples
Resources
Legacy
Blog
Community
More
Overview
Basics
Simple Map
Showing Pixel and Tile Coordinates
Geolocation
Localizing the Map
Right-to-Left Languages
Custom Map Projections
Lat/Lng Object Literal
Events
Simple Click Events
Using Closures in Event Listeners
Accessing Arguments in UI Events
Getting Properties With Event Handlers
Getting Lat/Lng from a Click Event
Listening to DOM Events
POI Click Events
Controls and Interaction
Default Controls
Disabling the Default UI
Replacing Default Controls
Adding Controls to the Map
Control Options
Control Positioning
Custom Controls
Adding State to Controls
Cooperative Gesture Handling
Restricting Map Bounds
Resizable Split Map Panes
Inset Overview Map
Add markers to the Map
Advanced Markers
Create an advanced marker
Customize advanced markers
Create markers with graphics
Create markers with HTML and CSS
Create interactive markers using HTML
Animate markers using CSS
Control marker collision behavior
Set marker altitude
Control marker visibility by zoom level
Make markers clickable and accessible
Make markers draggable
Marker clustering
Markers (Legacy)
Simple Markers
Marker Labels
Removing Markers
Markers with Image Icons
Markers with SVG and Font
Markers with Predefined Symbol Icons
Markers with Vector-based Icons
Complex Marker Icons
Marker Accessibility
Marker Animations
Marker Animations With setTimeout()
Draw on the Map
Info Windows
Info Windows With maxWidth
Custom Popups
Simple Polylines
Removing Polylines
Deleting a Vertex
Complex Polylines
Simple Polygons
Polygon Arrays
Polygon Auto-Completion
Polygon with Hole
Circles
Rectangles
Rectangle Zoom
User-Editable Shapes
Draggable Polygons
Listening to Events
Ground Overlays
Removing Overlays
Custom Overlays
Animating Symbols
Arrow Symbols (Polyline)
Custom Symbols (Polyline)
Dashed Line Symbols (Polyline)
Draw on a map using TerraDraw
Customizing the Map
Marker Collision Management
Styled Maps - Map ID
Styled Maps - Night Mode
Styled Map Types
Hiding Map Features With Styling
Styled Map Selection
Data-driven Styling for Boundaries
Style a Boundary Polygon
Make a Choropleth Map
Handle Click Events
Maps with HTML
Add a Map using HTML
Add a Map with Markers using HTML
Add a Map with Events using HTML
Layers
KML Layers
KML Feature Details
Data Layer: Polygon
Data Layer: Simple
Data Layer: Styling
Data Layer: Event Handling
Data Layer: Dynamic Styling
Data Layer: Drag and Drop GeoJSON
Data Layer: Earthquakes
Heatmaps
GeoRSS Layers
Traffic Layer
Transit Layer
Bicycle Layer
deck.gl HeatmapLayer
deck.gl ArcLayer
deck.gl Trips Layer
deck.gl ScatterPlot GeoJsonLayer
Vector Map Features
WebGL Overlays (Native API)
WebGL Overlays (ThreeJS wrapper)
Tilt and Rotation
Move Camera Easing
Work with 3D Maps (Preview)
Basics
Add a map
Add a map using HTML
Change map mode
Events
Make polygons clickable
Make polylines clickable
Make models clickable
Controls and interaction
Camera restrictions
Camera positioning and movement
Add markers to the map
Create markers
Make markers clickable
Make markers accessible
Trigger camera movement on marker click
Add a popover to a marker
Customize markers
Customize markers with graphics
Control marker collision behavior
Draw on the map
Basic polygon
Polygon extruded hole
Basic polyline
Extruded polyline
Popover
Models
Places (New)
Make places clickable
Place Autocomplete Widget
MapTypes
Basic Map Types
Overlay Map Types
Image Map Types