-
Notifications
You must be signed in to change notification settings - Fork 1
/
gmap.js
81 lines (62 loc) · 2.49 KB
/
gmap.js
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
var gmap = {
lat: 0,
lng: 0,
latlng: null,
zoom: 10,
infowindow: null,
poly: null,
polyoptions: { strokeColor: '#000000', strokeOpacity: 0.5, strokeWeight: 5 },
points: [],
map: null,
map_dom_id: 'gmap',
marker_icon: 'https://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=t|ffffff|000000',
init: function (coords) {
this.lat = coords.lat;
this.lng = coords.lng;
if ('object' == typeof google.maps && $('#'+ this.map_dom_id).length) {
var s4sMapStyle = [
{ featureType: 'road', elementType: 'labels', stylers: [ { visibility: 'off' } ] },
{ featureType: 'landscape', stylers: [ { visibility: 'off' } ] },
{ featureType: 'poi', stylers: [ { visibility: 'off' } ] },
{ featureType: 'road.local', stylers: [ { visibility: 'off' } ] },
{ featureType: 'road.arterial', stylers: [ { visibility: 'off' } ] },
{ featureType: 'administrative', stylers: [ { visibility: 'on' } ] }
];
var s4sStyledMapType = new google.maps.StyledMapType(s4sMapStyle, {});
this.latlng = new google.maps.LatLng(this.lat, this.lng);
var mapOpts = {
zoom: this.zoom,
center: this.latlng,
backgroundColor: 'white',
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.ZOOM_PAN,
position: google.maps.ControlPosition.TOP_RIGHT
}
};
this.map = new google.maps.Map(document.getElementById(this.map_dom_id), mapOpts);
this.map.mapTypes.set('s4s', s4sStyledMapType);
// this.map.setMapTypeId('s4s');
/* var checkin = new google.maps.Marker({
position: this.latlng,
map: this.map,
icon: null // this.marker_icon
}); */
this.infowindow = new google.maps.InfoWindow();
this.poly = new google.maps.Polyline(this.polyoptions);
this.poly.setMap(this.map);
}
},
goToCheckin: function (coords, venue, date, category) {
latlng = new google.maps.LatLng(coords.lat, coords.lng);
// new google.maps.Marker({ position: latlng, map: this.map });
var iw = '<div style="font-style: normal; text-align: center; width: 350px;"><strong>' + venue + '</strong></br>' + category + '</br>' + date + '</div>';
this.infowindow.setContent(iw);
this.infowindow.setPosition(latlng);
this.infowindow.open(this.map);
this.map.panTo(latlng);
var path = this.poly.getPath();
path.push(latlng);
}
};