-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEruvMultiMinyan.htm
127 lines (94 loc) · 4.44 KB
/
EruvMultiMinyan.htm
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<!doctype html>
<html>
<head>
<title>Eruv</title>
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<link rel="stylesheet" href="leaflet/leaflet.css"/>
<script src="leaflet/leaflet.js"></script>
<script src='leaflet/leaflet-omnivore.min.js'></script>
<script src="leaflet/leaflet-search.js"></script>
<link rel="stylesheet" href="leaflet/leaflet-search.css">
<style>
body {
padding: 0;
margin: 0;
}
html, body, #map {
height: 100%;
width: 100vw;
}
</style>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
</head>
<body>
<div id="mapid" style="width: 100%; height: 100%; position: relative; background-color: #ffffff;" class="leaflet-container leaflet-touch leaflet-retina leaflet-fade-anim leaflet-grab leaflet-touch-drag leaflet-touch-zoom" tabindex="0"></div>
<script>
var mymap = L.map('mapid');
var CartoDB_Positron = L.tileLayer('https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}{r}.png', {
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> © <a href="http://cartodb.com/attributions">CartoDB</a>',
subdomains: 'abcd',
maxZoom: 19,
minZoom: 9
});
CartoDB_Positron.addTo(mymap);
var customLayer = L.geoJson(null, {
// http://leafletjs.com/reference.html#geojson-style
style: function(feature) {
return { color: 'purple' };
}
});
var polygon = omnivore.kml('EruvBounds.kml', null, customLayer);
polygon.addTo(mymap);
var davidIcon = L.icon({
iconUrl: 'images/16px-Star_of_David.svg.png',
iconSize: [16, 18], // size of the icon
iconAnchor: [8, 9], // point of the icon which will correspond to marker's location
popupAnchor: [-3, -10] // point from which the popup should open relative to the iconAnchor
});
var jccIcon = L.icon({
iconUrl: 'images/Jcc.png',
iconSize: [16, 16], // size of the icon
iconAnchor: [8, 8], // point of the icon which will correspond to marker's location
popupAnchor: [-3, -10] // point from which the popup should open relative to the iconAnchor
});
var fp = L.marker([42.083675, -72.572538], {icon: davidIcon});
fp.addTo(mymap);
fp.bindPopup('<b><a target=blank href="https://www.bnaitorahma.org/">Bnai Torah, Forest Park Minyan</b></a><br>Services on Shabbat and Yom Tov<br>124 Sumner Ave, Springfield, MA');
var bt = L.marker([42.068128, -72.558587], {icon: davidIcon});
bt.addTo(mymap);
bt.bindPopup('<b><a target=blank href="https://www.bnaitorahma.org/">Bnai Torah</b></a><br>1 Eunice Dr, Longmeadow, MA');
var lya = L.marker([42.060071, -72.540327], {icon: davidIcon});
lya.addTo(mymap);
lya.bindPopup('<b><a target=blank href="https://www.lya.org/">Lubavitcher Yeshiva Academy</b></a><br>1148 Converse St, Longmeadow, MA');
var be = L.marker([42.071937, -72.550299], {icon: davidIcon});
be.addTo(mymap);
be.bindPopup('<b><a target=blank href="https://www.tbespringfield.org/">Temple Beth El</b></a><br>979 Dickinson St, Springfield, MA');
var ts = L.marker([42.069987, -72.555433], {icon: davidIcon});
ts.addTo(mymap);
ts.bindPopup('<b><a target=blank href="https://sinaitemple.shulcloud.com/">Temple Sinai</b></a><br>1100 Dickinson St, Springfield, MA');
var jcc = L.marker([42.067616, -72.556149], {icon: jccIcon});
jcc.addTo(mymap);
jcc.bindPopup('<b><a target=blank href="https://www.springfieldjcc.org/">Springfield JCC</b></a><br>1160 Dickinson St, Springfield, MA');
polygon.on('ready', function() {
var group = new L.featureGroup([polygon,fp,bt,lya,be,ts,jcc]);
mymap.fitBounds(group.getBounds(), { padding: [8, 8] });
// After the 'ready' event fires, the GeoJSON contents are accessible
// and you can iterate through layers to bind custom popups.
polygon.eachLayer(function(layer) {
// dataset has a property called `name`: your dataset might not,
layer.bindPopup('Eruv Boundary: ' + layer.feature.properties.name);
});
});
mymap.addControl( new L.Control.Search({
url: 'https://nominatim.openstreetmap.org/search?format=json&addressdetails=1&viewbox=-72.643318%2c42.014101%2c-72.407799%2c42.203599&bounded=1&q={s}',
jsonpParam: 'json_callback',
propertyName: 'display_name',
propertyLoc: ['lat','lon'],
marker: L.circleMarker([0,0],{radius:14}),
autoCollapse: true,
autoType: false,
minLength: 4
}) );
</script>
</body>
</html>