// This example adds three custom symbols to a polyline. function initMap(): void { const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { zoom: 6, center: { lat: 20.291, lng: 153.027 }, mapTypeId: "terrain", } ); // Define the custom symbols. All symbols are defined via SVG path notation. // They have varying stroke color, fill color, stroke weight, // opacity and rotation properties. const symbolOne = { path: "M -2,0 0,-2 2,0 0,2 z", strokeColor: "#F00", fillColor: "#F00", fillOpacity: 1, }; const symbolTwo = { path: "M -1,0 A 1,1 0 0 0 -3,0 1,1 0 0 0 -1,0M 1,0 A 1,1 0 0 0 3,0 1,1 0 0 0 1,0M -3,3 Q 0,5 3,3", strokeColor: "#00F", rotation: 45, }; const symbolThree = { path: "M -2,-2 2,2 M 2,-2 -2,2", strokeColor: "#292", strokeWeight: 4, }; // Create the polyline and add the symbols via the 'icons' property. const line = new google.maps.Polyline({ path: [ { lat: 22.291, lng: 153.027 }, { lat: 18.291, lng: 153.027 }, ], icons: [ { icon: symbolOne, offset: "0%", }, { icon: symbolTwo, offset: "50%", }, { icon: symbolThree, offset: "100%", }, ], map: map, }); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;Note: Read the guide on using TypeScript and Google Maps. JavaScript
// This example adds three custom symbols to a polyline. function initMap() { const map = new google.maps.Map(document.getElementById("map"), { zoom: 6, center: { lat: 20.291, lng: 153.027 }, mapTypeId: "terrain", }); // Define the custom symbols. All symbols are defined via SVG path notation. // They have varying stroke color, fill color, stroke weight, // opacity and rotation properties. const symbolOne = { path: "M -2,0 0,-2 2,0 0,2 z", strokeColor: "#F00", fillColor: "#F00", fillOpacity: 1, }; const symbolTwo = { path: "M -1,0 A 1,1 0 0 0 -3,0 1,1 0 0 0 -1,0M 1,0 A 1,1 0 0 0 3,0 1,1 0 0 0 1,0M -3,3 Q 0,5 3,3", strokeColor: "#00F", rotation: 45, }; const symbolThree = { path: "M -2,-2 2,2 M 2,-2 -2,2", strokeColor: "#292", strokeWeight: 4, }; // Create the polyline and add the symbols via the 'icons' property. const line = new google.maps.Polyline({ path: [ { lat: 22.291, lng: 153.027 }, { lat: 18.291, lng: 153.027 }, ], icons: [ { icon: symbolOne, offset: "0%", }, { icon: symbolTwo, offset: "50%", }, { icon: symbolThree, offset: "100%", }, ], map: map, }); } window.initMap = initMap;Note: The JavaScript is compiled from the TypeScript snippet. CSS
/* * 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
<html> <head> <title>Custom Symbols (Polyline)</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>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4