app/assets/javascripts/gmapsjs/gmapsjs.js in gmapsjs-0.1.9 vs app/assets/javascripts/gmapsjs/gmapsjs.js in gmapsjs-0.1.10

- old
+ new

@@ -6,10 +6,11 @@ var context_menu_style = 'position:absolute;display:none;min-width:100px;' + 'background:white;list-style:none;padding:8px;box-shadow:2px 2px 6px #ccc'; window.context_menu = {}; this.div = $(options.div)[0]; + this.controls = []; this.overlays = []; this.markers = []; this.polylines = []; this.routes = []; this.polygons = []; @@ -237,9 +238,44 @@ this.map.setZoom(this.map.getZoom() + value); }; this.zoomOut = function(value) { this.map.setZoom(this.map.getZoom() - value); + }; + + this.createControl = function(options) { + options.style.cursor = 'pointer'; + options.style.fontFamily = 'Arial, sans-serif'; + options.style.fontSize = '13px'; + options.style.boxShadow = 'rgba(0, 0, 0, 0.398438) 0px 2px 4px'; + + var controlDiv = $('<div></div>'); + controlDiv.css(options.style); + controlDiv.text(options.text); + + var control = controlDiv[0]; + + for(var e in options.events) { + google.maps.event.addDomListener(control, e, function() { + options.events[e].apply(this, [this]); + }); + } + + control.index = 1; + + return control; + }; + + this.addControl = function(options) { + var position = google.maps.ControlPosition[options.position.toUpperCase()]; + + delete options.position; + + var control = this.createControl(options); + this.controls.push(control); + this.map.controls[position].push(control); + + return control; }; // Markers this.createMarker = function(options) { if (options.lat && options.lng) { \ No newline at end of file