Announcement: New basemap styling is coming soon to Google Maps Platform. This update to map styling includes a new default color palette, modernized pins, and improvements to map experiences and usability. All map styles will be automatically updated in March 2025. For more information on availability and how to opt in earlier, see New map style for Google Maps Platform.
Stay organized with collections
Save and categorize content based on your preferences.
This example uses a symbol to add a vector-based icon to a marker. The symbol
uses one of the predefined vector paths ('CIRCLE') supplied by the Google Maps
JavaScript API.
// This example uses a symbol to add a vector-based icon to a marker.// The symbol uses one of the predefined vector paths ('CIRCLE') supplied by the// Google Maps JavaScript API.functioninitMap():void{constmap=newgoogle.maps.Map(document.getElementById("map")asHTMLElement,{zoom:4,center:{lat:-25.363882,lng:131.044922},});newgoogle.maps.Marker({position:map.getCenter(),icon:{path:google.maps.SymbolPath.CIRCLE,scale:10,},draggable:true,map:map,});}declareglobal{interfaceWindow{initMap:()=>void;}}window.initMap=initMap;
// This example uses a symbol to add a vector-based icon to a marker.// The symbol uses one of the predefined vector paths ('CIRCLE') supplied by the// Google Maps JavaScript API.functioninitMap(){constmap=newgoogle.maps.Map(document.getElementById("map"),{zoom:4,center:{lat:-25.363882,lng:131.044922},});newgoogle.maps.Marker({position:map.getCenter(),icon:{path:google.maps.SymbolPath.CIRCLE,scale:10,},draggable:true,map:map,});}window.initMap=initMap;
/* * Always set the map height explicitly to define the size of the div element * that contains the map. */#map{height:100%;}/* * Optional: Makes the sample page fill the window. */html,body{height:100%;margin:0;padding:0;}
<html>
<head>
<title>Predefined Symbols (Marker)</title>
<link rel="stylesheet" type="text/css" href="./style.css" />
<script type="module" src="./index.js"></script>
</head>
<body>
<div id="map"></div>
<!--
The `defer` attribute causes the script to execute after the full HTML
document has been parsed. For non-blocking uses, avoiding race conditions,
and consistent behavior across browsers, consider loading using Promises. See
https://developers.google.com/maps/documentation/javascript/load-maps-js-api
for more information.
-->
<script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&callback=initMap&v=weekly"
defer
></script>
</body>
</html>
Git and Node.js are required to run this sample locally. Follow these instructions to install Node.js and NPM. The following commands clone, install dependencies and start the sample application.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-24 UTC."],[[["`google.maps.Marker` is deprecated, with `google.maps.marker.AdvancedMarkerElement` being the recommended replacement for enhanced marker functionality."],["This example demonstrates how to use predefined vector paths (like 'CIRCLE') to create vector-based icons for markers."],["The sample code showcases marker creation with a circle icon, placed at a specific location on the map, and made draggable."],["It provides code snippets in TypeScript, JavaScript, CSS, and HTML for implementing this functionality."],["Users can experiment with the sample using provided links to JSFiddle, Google Cloud Shell, or by cloning and running the code locally."]]],["Google Maps API's `google.maps.Marker` is deprecated as of February 21st, 2024 (v3.56), and users should transition to `google.maps.marker.AdvancedMarkerElement`. This new class offers improvements, is available from version 3.53.2, however the legacy class is not scheduled to be discontinued yet. The code example shows how to add a vector-based icon ('CIRCLE') to a marker, using predefined symbols in both TypeScript and JavaScript. CSS and HTML code is also provided to run this example.\n"]]