codesite-noreply at google.com
2009-Oct-07 23:52 UTC
[Mapstraction] [mapstraction] r44 committed - Major googlev3 progress. Still to do: polylines, image/tile overlays, ...
Revision: 44 Author: duvander Date: Wed Oct 7 16:51:49 2009 Log: Major googlev3 progress. Still to do: polylines, image/tile overlays, and marker sizing http://code.google.com/p/mapstraction/source/detail?r=44 Modified: /trunk/source/mxn.googlev3.core.js ======================================--- /trunk/source/mxn.googlev3.core.js Thu Sep 24 11:52:25 2009 +++ /trunk/source/mxn.googlev3.core.js Wed Oct 7 16:51:49 2009 @@ -5,13 +5,13 @@ init: function(element, api){ var me = this; if ( google && google.maps ){ - // be default no controls and road map + // by default no controls and road map var myOptions = { - disableDefaultUI: true, - mapTypeId: google.maps.MapTypeId.ROADMAP + disableDefaultUI: true, + mapTypeId: google.maps.MapTypeId.ROADMAP, }; var map = new google.maps.Map(element, myOptions); - + // deal with click // deal with zoom change @@ -29,7 +29,7 @@ } else { alert(api + '' map script not imported''); - } + } }, applyOptions: function(){ @@ -76,11 +76,11 @@ addSmallControls: function() { var map = this.maps[this.api]; var myOptions = { - scrollwheel: false, - navigationControl:true, - navigationControlOptions: {style:google.maps.NavigationControlStyle.SMALL} + navigationControl: true, + navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL} }; map.setOptions(myOptions); + this.addControlsArgs.pan = false; this.addControlsArgs.scale = false; this.addControlsArgs.zoom = ''small''; @@ -118,8 +118,6 @@ var map = this.maps[this.api]; var pin = marker.toProprietary(this.api); - // TODO: Add provider code - return pin; }, @@ -232,9 +230,9 @@ setBounds: function(bounds){ var map = this.maps[this.api]; - var sw = bounds.getSouthWest(); - var ne = bounds.getNorthEast(); - var gLatLngBounds = new google.maps.LatLngBounds({sw:sw, ne:ne}); + var sw = bounds.getSouthWest().toProprietary(this.api); + var ne = bounds.getNorthEast().toProprietary(this.api); + var gLatLngBounds = new google.maps.LatLngBounds(sw, ne); map.fitBounds(gLatLngBounds); }, @@ -304,11 +302,51 @@ Marker: { toProprietary: function() { - // TODO: Add provider code + var options = {}; + if(this.iconUrl) { + var image = new google.maps.MarkerImage(this.iconUrl); + options.icon = image; + if(typeof(this.iconShadowUrl) != ''undefined'') { + var shadow = new google.maps.MarkerImage(this.iconShadowUrl); + options.shadow = shadow; + } + } + if(this.draggable){ + options.draggable = this.draggable; + } + if(this.labelText){ + options.title = this.labelText; + } + + options.position = this.location.toProprietary(this.api); + options.map = this.map; + var marker = new google.maps.Marker(options); + + if(this.infoBubble){ + var infowindow = new google.maps.InfoWindow({ + content: this.infoBubble + }); + + if(this.hover) { + event_action = "mouseover"; + } + else { + event_action = "click"; + } + + google.maps.event.addListener(marker, event_action, function() { + infowindow.open(this.map,marker); + }); + } + + return marker; }, - openBubble: function() { - // TODO: Add provider code + openBubble: function() { + var infowindow = new google.maps.InfoWindow({ + content: this.infoBubble + }); + infowindow.open(this.map,this.proprietary_marker); }, hide: function() {