-
Notifications
You must be signed in to change notification settings - Fork 821
/
inline.html
executable file
·111 lines (109 loc) · 3.53 KB
/
inline.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<!DOCTYPE html>
<html>
<head>
<title>deck.gl and Google Maps Platform</title>
<script src="https://polyfill.io/v3/polyfill.min.js?features=default"></script>
<!-- Use Material Design Progress indicator -->
<link
href="https://unpkg.com/material-components-web@6.0.0/dist/material-components-web.css"
rel="stylesheet"
/>
<script src="https://unpkg.com/material-components-web@6.0.0/dist/material-components-web.min.js"></script>
<!-- Load deck.gl -->
<script src="https://unpkg.com/deck.gl@^7.0.0/dist.min.js"></script>
<script
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap&libraries=&v=weekly"
defer
></script>
<style type="text/css">
:root {
--mdc-theme-primary: #1a73e8;
--mdc-theme-secondary: #rgb(225, 245, 254);
--mdc-theme-on-primary: #fff;
--mdc-theme-on-secondary: rgb(1, 87, 155);
}
/* 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;
}
</style>
<script>
/* eslint-disable no-undef */
// Initialize and add the map
function initMap() {
const map = new google.maps.Map(document.getElementById("map"), {
center: { lat: 40, lng: -110 },
zoom: 4,
});
const deckOverlay = new deck.GoogleMapsOverlay({
layers: [
new deck.GeoJsonLayer({
id: "earthquakes",
data:
"https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson",
filled: true,
pointRadiusMinPixels: 2,
pointRadiusMaxPixels: 200,
opacity: 0.4,
pointRadiusScale: 0.3,
getRadius: (f) => Math.pow(10, f.properties.mag),
getFillColor: [255, 70, 30, 180],
autoHighlight: true,
transitions: {
getRadius: {
type: "spring",
stiffness: 0.1,
damping: 0.15,
enter: (_) => [0],
duration: 10000,
},
},
onDataLoad: (_) => {
progress.done(); // hides progress bar
},
}),
],
});
deckOverlay.setMap(map);
}
</script>
</head>
<body>
<div
role="progressbar"
class="mdc-linear-progress"
aria-label="Data Progress Bar"
>
<div class="mdc-linear-progress__buffer">
<div class="mdc-linear-progress__buffer-bar"></div>
<div class="mdc-linear-progress__buffer-dots"></div>
</div>
<div class="mdc-linear-progress__bar mdc-linear-progress__primary-bar">
<span class="mdc-linear-progress__bar-inner"></span>
</div>
<div class="mdc-linear-progress__bar mdc-linear-progress__secondary-bar">
<span class="mdc-linear-progress__bar-inner"></span>
</div>
</div>
<script>
var progress, progressDiv;
progressDiv = document.querySelector(".mdc-linear-progress");
progress = new mdc.linearProgress.MDCLinearProgress(progressDiv);
progress.open();
progress.determinate = false;
progress.done = function () {
progress.close();
progressDiv.remove();
};
</script>
<div id="map"></div>
</body>
</html>