// This example converts a polyline to a dashed line, by // setting the opacity of the polyline to 0, and drawing an opaque symbol // at a regular interval on the 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 a symbol using SVG path notation, with an opacity of 1. const lineSymbol = { path: "M 0,-1 0,1", strokeOpacity: 1, scale: 4, }; // Create the polyline, passing the symbol in the 'icons' property. // Give the line an opacity of 0. // Repeat the symbol at intervals of 20 pixels to create the dashed effect. const line = new google.maps.Polyline({ path: [ { lat: 22.291, lng: 153.027 }, { lat: 18.291, lng: 153.027 }, ], strokeOpacity: 0, icons: [ { icon: lineSymbol, offset: "0", repeat: "20px", }, ], map: map, }); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;Note: Read the guide on using TypeScript and Google Maps. JavaScript
// This example converts a polyline to a dashed line, by // setting the opacity of the polyline to 0, and drawing an opaque symbol // at a regular interval on the polyline. function initMap() { const map = new google.maps.Map(document.getElementById("map"), { zoom: 6, center: { lat: 20.291, lng: 153.027 }, mapTypeId: "terrain", }); // Define a symbol using SVG path notation, with an opacity of 1. const lineSymbol = { path: "M 0,-1 0,1", strokeOpacity: 1, scale: 4, }; // Create the polyline, passing the symbol in the 'icons' property. // Give the line an opacity of 0. // Repeat the symbol at intervals of 20 pixels to create the dashed effect. const line = new google.maps.Polyline({ path: [ { lat: 22.291, lng: 153.027 }, { lat: 18.291, lng: 153.027 }, ], strokeOpacity: 0, icons: [ { icon: lineSymbol, offset: "0", repeat: "20px", }, ], 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>Dashed Line 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