283 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			283 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
| 
 | |
| class GoogleMap {
 | |
| 
 | |
|     initBasicGoogleMap() {
 | |
|         var map = new GMaps({
 | |
|             div: '#gmaps-basic', lat: -12.043333, lng: -77.028333
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     initMarkerGoogleMap() {
 | |
|         var map = new GMaps({
 | |
|             div: '#gmaps-markers', lat: -12.043333, lng: -77.028333
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     initStreetViewGoogleMap() {
 | |
|         var panorama = GMaps.createPanorama({
 | |
|             el: '#panorama', lat: 42.3455, lng: -71.0983
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     initMapTypes() {
 | |
|         var map = new GMaps({
 | |
|             el: '#gmaps-types', lat: 42.3455, lng: -71.0983, mapTypeControlOptions: {
 | |
|                 mapTypeIds: ["hybrid", "roadmap", "satellite", "terrain", "osm", "cloudmade"]
 | |
|             }
 | |
|         });
 | |
|         map.addMapType("osm", {
 | |
|             getTileUrl: function (coord, zoom) {
 | |
|                 return "http://tile.openstreetmap.org/" + zoom + "/" + coord.x + "/" + coord.y + ".png";
 | |
|             }, tileSize: new google.maps.Size(256, 256), name: "OpenStreetMap", maxZoom: 18
 | |
|         });
 | |
|         map.addMapType("cloudmade", {
 | |
|             getTileUrl: function (coord, zoom) {
 | |
|                 return "http://b.tile.cloudmade.com/8ee2a50541944fb9bcedded5165f09d9/1/256/" + zoom + "/" + coord.x + "/" + coord.y + ".png";
 | |
|             }, tileSize: new google.maps.Size(256, 256), name: "CloudMade", maxZoom: 18
 | |
|         });
 | |
|         map.setMapTypeId("osm");
 | |
|         return map;
 | |
|     }
 | |
| 
 | |
|     initUltraLightMap() {
 | |
|         var map = new GMaps({
 | |
|             div: '#ultra-light', lat: 42.3455, lng: -71.0983, styles: [{
 | |
|                 "featureType": "water", "elementType": "geometry", "stylers": [{
 | |
|                     "color": "#e9e9e9"
 | |
|                 }, {
 | |
|                     "lightness": 17
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "landscape", "elementType": "geometry", "stylers": [{
 | |
|                     "color": "#f5f5f5"
 | |
|                 }, {
 | |
|                     "lightness": 20
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "road.highway", "elementType": "geometry.fill", "stylers": [{
 | |
|                     "color": "#ffffff"
 | |
|                 }, {
 | |
|                     "lightness": 17
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "road.highway", "elementType": "geometry.stroke", "stylers": [{
 | |
|                     "color": "#ffffff"
 | |
|                 }, {
 | |
|                     "lightness": 29
 | |
|                 }, {
 | |
|                     "weight": 0.2
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "road.arterial", "elementType": "geometry", "stylers": [{
 | |
|                     "color": "#ffffff"
 | |
|                 }, {
 | |
|                     "lightness": 18
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "road.local", "elementType": "geometry", "stylers": [{
 | |
|                     "color": "#ffffff"
 | |
|                 }, {
 | |
|                     "lightness": 16
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "poi", "elementType": "geometry", "stylers": [{
 | |
|                     "color": "#f5f5f5"
 | |
|                 }, {
 | |
|                     "lightness": 21
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "poi.park", "elementType": "geometry", "stylers": [{
 | |
|                     "color": "#dedede"
 | |
|                 }, {
 | |
|                     "lightness": 21
 | |
|                 }]
 | |
|             }, {
 | |
|                 "elementType": "labels.text.stroke", "stylers": [{
 | |
|                     "visibility": "on"
 | |
|                 }, {
 | |
|                     "color": "#ffffff"
 | |
|                 }, {
 | |
|                     "lightness": 16
 | |
|                 }]
 | |
|             }, {
 | |
|                 "elementType": "labels.text.fill", "stylers": [{
 | |
|                     "saturation": 36
 | |
|                 }, {
 | |
|                     "color": "#333333"
 | |
|                 }, {
 | |
|                     "lightness": 40
 | |
|                 }]
 | |
|             }, {
 | |
|                 "elementType": "labels.icon", "stylers": [{
 | |
|                     "visibility": "off"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "transit", "elementType": "geometry", "stylers": [{
 | |
|                     "color": "#f2f2f2"
 | |
|                 }, {
 | |
|                     "lightness": 19
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "administrative", "elementType": "geometry.fill", "stylers": [{
 | |
|                     "color": "#fefefe"
 | |
|                 }, {
 | |
|                     "lightness": 20
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "administrative", "elementType": "geometry.stroke", "stylers": [{
 | |
|                     "color": "#fefefe"
 | |
|                 }, {
 | |
|                     "lightness": 17
 | |
|                 }, {
 | |
|                     "weight": 1.2
 | |
|                 }]
 | |
|             }]
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     initDarkMap() {
 | |
|         var map = new GMaps({
 | |
|             div: '#dark', lat: 42.3455, lng: -71.0983, styles: [{
 | |
|                 "featureType": "all", "elementType": "labels", "stylers": [{
 | |
|                     "visibility": "on"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "all", "elementType": "labels.text.fill", "stylers": [{
 | |
|                     "saturation": 36
 | |
|                 }, {
 | |
|                     "color": "#000000"
 | |
|                 }, {
 | |
|                     "lightness": 40
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "all", "elementType": "labels.text.stroke", "stylers": [{
 | |
|                     "visibility": "on"
 | |
|                 }, {
 | |
|                     "color": "#000000"
 | |
|                 }, {
 | |
|                     "lightness": 16
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "all", "elementType": "labels.icon", "stylers": [{
 | |
|                     "visibility": "off"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "administrative", "elementType": "geometry.fill", "stylers": [{
 | |
|                     "color": "#000000"
 | |
|                 }, {
 | |
|                     "lightness": 20
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "administrative", "elementType": "geometry.stroke", "stylers": [{
 | |
|                     "color": "#000000"
 | |
|                 }, {
 | |
|                     "lightness": 17
 | |
|                 }, {
 | |
|                     "weight": 1.2
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "administrative.country", "elementType": "labels.text.fill", "stylers": [{
 | |
|                     "color": "#e5c163"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "administrative.locality", "elementType": "labels.text.fill", "stylers": [{
 | |
|                     "color": "#c4c4c4"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "administrative.neighborhood", "elementType": "labels.text.fill", "stylers": [{
 | |
|                     "color": "#e5c163"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "landscape", "elementType": "geometry", "stylers": [{
 | |
|                     "color": "#000000"
 | |
|                 }, {
 | |
|                     "lightness": 20
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "poi", "elementType": "geometry", "stylers": [{
 | |
|                     "color": "#000000"
 | |
|                 }, {
 | |
|                     "lightness": 21
 | |
|                 }, {
 | |
|                     "visibility": "on"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "poi.business", "elementType": "geometry", "stylers": [{
 | |
|                     "visibility": "on"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "road.highway", "elementType": "geometry.fill", "stylers": [{
 | |
|                     "color": "#e5c163"
 | |
|                 }, {
 | |
|                     "lightness": "0"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "road.highway", "elementType": "geometry.stroke", "stylers": [{
 | |
|                     "visibility": "off"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "road.highway", "elementType": "labels.text.fill", "stylers": [{
 | |
|                     "color": "#ffffff"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "road.highway", "elementType": "labels.text.stroke", "stylers": [{
 | |
|                     "color": "#e5c163"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "road.arterial", "elementType": "geometry", "stylers": [{
 | |
|                     "color": "#000000"
 | |
|                 }, {
 | |
|                     "lightness": 18
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "road.arterial", "elementType": "geometry.fill", "stylers": [{
 | |
|                     "color": "#575757"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "road.arterial", "elementType": "labels.text.fill", "stylers": [{
 | |
|                     "color": "#ffffff"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "road.arterial", "elementType": "labels.text.stroke", "stylers": [{
 | |
|                     "color": "#2c2c2c"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "road.local", "elementType": "geometry", "stylers": [{
 | |
|                     "color": "#000000"
 | |
|                 }, {
 | |
|                     "lightness": 16
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "road.local", "elementType": "labels.text.fill", "stylers": [{
 | |
|                     "color": "#999999"
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "transit", "elementType": "geometry", "stylers": [{
 | |
|                     "color": "#000000"
 | |
|                 }, {
 | |
|                     "lightness": 19
 | |
|                 }]
 | |
|             }, {
 | |
|                 "featureType": "water", "elementType": "geometry", "stylers": [{
 | |
|                     "color": "#000000"
 | |
|                 }, {
 | |
|                     "lightness": 17
 | |
|                 }]
 | |
|             }]
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     init() {
 | |
|         this.initBasicGoogleMap();
 | |
|         this.initMarkerGoogleMap();
 | |
|         this.initStreetViewGoogleMap();
 | |
|         this.initMapTypes();
 | |
|         this.initUltraLightMap();
 | |
|         this.initDarkMap();
 | |
|     }
 | |
| 
 | |
| }
 | |
| 
 | |
| document.addEventListener('DOMContentLoaded', function (e) {
 | |
|     new GoogleMap().init();
 | |
| }); |