forked from GNUsocial/gnu-social
		
	
		
			
	
	
		
			403 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			403 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								mxn.register('microsoft', {	
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Mapstraction: {
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									init: function(element, api) {		
							 | 
						||
| 
								 | 
							
										var me = this;
							 | 
						||
| 
								 | 
							
										if (VEMap){
							 | 
						||
| 
								 | 
							
											this.maps[api] = new VEMap(element.id);
							 | 
						||
| 
								 | 
							
									 
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											this.maps[api].AttachEvent('onclick', function(event){
							 | 
						||
| 
								 | 
							
												me.clickHandler();
							 | 
						||
| 
								 | 
							
												var x = event.mapX;
							 | 
						||
| 
								 | 
							
												var y = event.mapY;
							 | 
						||
| 
								 | 
							
											    var pixel = new VEPixel(x,y);
							 | 
						||
| 
								 | 
							
												me.click.fire({'location': new mxn.LatLonPoint(pixel.Latitude, pixel.Longitude)});
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
												
							 | 
						||
| 
								 | 
							
											});
							 | 
						||
| 
								 | 
							
											this.maps[api].AttachEvent('onendzoom', function(event){
							 | 
						||
| 
								 | 
							
												me.moveendHandler(me);
							 | 
						||
| 
								 | 
							
												me.changeZoom.fire();
							 | 
						||
| 
								 | 
							
												
							 | 
						||
| 
								 | 
							
												
							 | 
						||
| 
								 | 
							
											});
							 | 
						||
| 
								 | 
							
											this.maps[api].AttachEvent('onendpan', function(event){
							 | 
						||
| 
								 | 
							
												me.moveendHandler(me);
							 | 
						||
| 
								 | 
							
												me.endPan.fire();
							 | 
						||
| 
								 | 
							
												
							 | 
						||
| 
								 | 
							
												
							 | 
						||
| 
								 | 
							
											});
							 | 
						||
| 
								 | 
							
											this.maps[api].AttachEvent('onchangeview', function(event){
							 | 
						||
| 
								 | 
							
												me.endPan.fire();
							 | 
						||
| 
								 | 
							
												
							 | 
						||
| 
								 | 
							
												
							 | 
						||
| 
								 | 
							
											});
							 | 
						||
| 
								 | 
							
											this.maps[api].LoadMap();
							 | 
						||
| 
								 | 
							
											document.getElementById("MSVE_obliqueNotification").style.visibility = "hidden"; 
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
											//removes the bird's eye pop-up
							 | 
						||
| 
								 | 
							
											this.loaded[api] = true;
							 | 
						||
| 
								 | 
							
											me.load.fire();	
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										else{
							 | 
						||
| 
								 | 
							
											alert(api + ' map script not imported')
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									applyOptions: function(){
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										if(this.options.enableScrollWheelZoom){
							 | 
						||
| 
								 | 
							
											map.enableContinuousZoom();
							 | 
						||
| 
								 | 
							
											map.enableScrollWheelZoom();	
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									resizeTo: function(width, height){	
							 | 
						||
| 
								 | 
							
										this.maps[this.api].Resize(width, height);
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									addControls: function( args ) {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
								        
							 | 
						||
| 
								 | 
							
									if (args.pan) {
							 | 
						||
| 
								 | 
							
											map.SetDashboardSize(VEDashboardSize.Normal);
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										else {
							 | 
						||
| 
								 | 
							
											map.SetDashboardSize(VEDashboardSize.Tiny)
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  	if (args.zoom == 'large') {
							 | 
						||
| 
								 | 
							
											map.SetDashboardSize(VEDashboardSize.Small)
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										else if ( args.zoom == 'small' ) {
							 | 
						||
| 
								 | 
							
											map.SetDashboardSize(VEDashboardSize.Tiny)
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										else {
							 | 
						||
| 
								 | 
							
											map.HideDashboard();
							 | 
						||
| 
								 | 
							
											map.HideScalebar();
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								        	
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									addSmallControls: function() {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										map.SetDashboardSize(VEDashboardSize.Tiny);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									addLargeControls: function() {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										map.SetDashboardSize(VEDashboardSize.Normal);
							 | 
						||
| 
								 | 
							
										this.addControlsArgs.pan=true;
							 | 
						||
| 
								 | 
							
										this.addControlsArgs.zoom = 'large';
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									addMapTypeControls: function() {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										map.addTypeControl();
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									dragging: function(on) {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										if(on){
							 | 
						||
| 
								 | 
							
											map.enableDragMap();
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										else{
							 | 
						||
| 
								 | 
							
											map.disableDragMap();
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									setCenterAndZoom: function(point, zoom) { 
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										var pt = point.toProprietary(this.api);
							 | 
						||
| 
								 | 
							
										var vzoom =  zoom;
							 | 
						||
| 
								 | 
							
										map.SetCenterAndZoom(new VELatLong(point.lat,point.lon), vzoom)
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									addMarker: function(marker, old) {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
								                marker.pinID = "mspin-"+new Date().getTime()+'-'+(Math.floor(Math.random()*Math.pow(2,16)));
							 | 
						||
| 
								 | 
							
										var pin = marker.toProprietary(this.api);
							 | 
						||
| 
								 | 
							
									        map.AddShape(pin);
							 | 
						||
| 
								 | 
							
										//give onclick event
							 | 
						||
| 
								 | 
							
										//give on double click event
							 | 
						||
| 
								 | 
							
										//give on close window
							 | 
						||
| 
								 | 
							
										//return the marker
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										return pin;
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									removeMarker: function(marker) {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										var id = marker.proprietary_marker.GetID();
							 | 
						||
| 
								 | 
							
										var microsoftShape = map.GetShapeByID(id);
							 | 
						||
| 
								 | 
							
										map.DeleteShape(microsoftShape);
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									removeAllMarkers: function() {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										// TODO: Add provider code
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									declutterMarkers: function(opts) {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										// TODO: Add provider code
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									addPolyline: function(polyline, old) {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										var pl = polyline.toProprietary(this.api);
							 | 
						||
| 
								 | 
							
										pl.HideIcon();//hide the icon VE automatically displays
							 | 
						||
| 
								 | 
							
										map.AddShape(pl);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										return pl;
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									removePolyline: function(polyline) {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										var id = polyline.proprietary_polyline.GetID();
							 | 
						||
| 
								 | 
							
										var microsoftShape = map.GetShapeByID(id);
							 | 
						||
| 
								 | 
							
										map.DeleteShape(microsoftShape);
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									getCenter: function() {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										var LL = map.GetCenter();
							 | 
						||
| 
								 | 
							
										var point = new mxn.LatLonPoint(LL.Latitude, LL.Longitude);
							 | 
						||
| 
								 | 
							
										return point;
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
									setCenter: function(point, options) {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										var pt = point.toProprietary(this.api);
							 | 
						||
| 
								 | 
							
										map.SetCenter(new VELatLong(point.lat, point.lon));
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									setZoom: function(zoom) {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										map.SetZoomLevel(zoom);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									getZoom: function() {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										var zoom = map.GetZoomLevel();
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										return zoom;
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									getZoomLevelForBoundingBox: function( bbox ) {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										// NE and SW points from the bounding box.
							 | 
						||
| 
								 | 
							
										var ne = bbox.getNorthEast();
							 | 
						||
| 
								 | 
							
										var sw = bbox.getSouthWest();
							 | 
						||
| 
								 | 
							
										var zoom;
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										// TODO: Add provider code
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										return zoom;
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									setMapType: function(type) {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										switch(type) {
							 | 
						||
| 
								 | 
							
											case mxn.Mapstraction.ROAD:
							 | 
						||
| 
								 | 
							
												map.SetMapStyle(VEMapStyle.Road);
							 | 
						||
| 
								 | 
							
												break;
							 | 
						||
| 
								 | 
							
											case mxn.Mapstraction.SATELLITE:
							 | 
						||
| 
								 | 
							
												map.SetMapStyle(VEMapStyle.Aerial);
							 | 
						||
| 
								 | 
							
												break;
							 | 
						||
| 
								 | 
							
											case mxn.Mapstraction.HYBRID:
							 | 
						||
| 
								 | 
							
												map.SetMapStyle(VEMapStyle.Hybrid);
							 | 
						||
| 
								 | 
							
												break;
							 | 
						||
| 
								 | 
							
											default:
							 | 
						||
| 
								 | 
							
												map.SetMapStyle(VEMapStyle.Road);
							 | 
						||
| 
								 | 
							
										}	 
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									getMapType: function() {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										var mode = map.GetMapStyle();
							 | 
						||
| 
								 | 
							
										switch(mode){
							 | 
						||
| 
								 | 
							
											case VEMapStyle.Aerial:
							 | 
						||
| 
								 | 
							
												return mxn.Mapstraction.SATELLITE;
							 | 
						||
| 
								 | 
							
											case VEMapStyle.Road:
							 | 
						||
| 
								 | 
							
												return mxn.Mapstraction.ROAD;
							 | 
						||
| 
								 | 
							
											case VEMapStyle.Hybrid:
							 | 
						||
| 
								 | 
							
												return mxn.Mapstraction.HYBRID;
							 | 
						||
| 
								 | 
							
											default:
							 | 
						||
| 
								 | 
							
												return null;
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									getBounds: function () {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										view = map.GetMapView();
							 | 
						||
| 
								 | 
							
										var topleft = view.TopLeftLatLong;
							 | 
						||
| 
								 | 
							
										var bottomright = view.BottomRightLatLong;
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										return new mxn.BoundingBox(bottomright.Latitude,topleft.Longitude,topleft.Latitude, bottomright.Longitude );
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									setBounds: function(bounds){
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										var sw = bounds.getSouthWest();
							 | 
						||
| 
								 | 
							
										var ne = bounds.getNorthEast();
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										var rec = new VELatLongRectangle(new VELatLong(ne.lat, ne.lon), new VELatLong(sw.lat, sw.lon));
							 | 
						||
| 
								 | 
							
										map.SetMapView(rec);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									addImageOverlay: function(id, src, opacity, west, south, east, north, oContext) {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										// TODO: Add provider code
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									setImagePosition: function(id, oContext) {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
										var topLeftPoint; var bottomRightPoint;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// TODO: Add provider code
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									//	oContext.pixels.top = ...;
							 | 
						||
| 
								 | 
							
									//	oContext.pixels.left = ...;
							 | 
						||
| 
								 | 
							
									//	oContext.pixels.bottom = ...;
							 | 
						||
| 
								 | 
							
									//	oContext.pixels.right = ...;
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									addOverlay: function(url, autoCenterAndZoom) {
							 | 
						||
| 
								 | 
							
										var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
									    var layer = new VEShapeLayer(); 
							 | 
						||
| 
								 | 
							
									    var mlayerspec = new VEShapeSourceSpecification(VEDataType.GeoRSS, url, layer);
							 | 
						||
| 
								 | 
							
									 	map.AddShapeLayer(layer);
							 | 
						||
| 
								 | 
							
									  
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									addTileLayer: function(tile_url, opacity, copyright_text, min_zoom, max_zoom) {
							 | 
						||
| 
								 | 
							
										throw 'Not implemented';
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									toggleTileLayer: function(tile_url) {
							 | 
						||
| 
								 | 
							
										throw 'Not implemented';
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									getPixelRatio: function() {
							 | 
						||
| 
								 | 
							
										throw 'Not implemented';
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									mousePosition: function(element) {
							 | 
						||
| 
								 | 
							
										var locDisp = document.getElementById(element);
							 | 
						||
| 
								 | 
							
										if (locDisp != null) {
							 | 
						||
| 
								 | 
							
											var map = this.maps[this.api];
							 | 
						||
| 
								 | 
							
											map.AttachEvent("onmousemove", function(veEvent){
							 | 
						||
| 
								 | 
							
												var latlon = map.PixelToLatLong(new VEPixel(veEvent.mapX, veEvent.mapY));
							 | 
						||
| 
								 | 
							
												var loc = latlon.Latitude.toFixed(4) + " / " + latlon.Longitude.toFixed(4);
							 | 
						||
| 
								 | 
							
												locDisp.innerHTML = loc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											});
							 | 
						||
| 
								 | 
							
											locDisp.innerHTML = "0.0000 / 0.0000";
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								LatLonPoint: {
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									toProprietary: function() {
							 | 
						||
| 
								 | 
							
										return  new VELatLong(this.lat, this.lon);
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									fromProprietary: function(mpoint) {
							 | 
						||
| 
								 | 
							
										this.lat =mpoint.Latitude;
							 | 
						||
| 
								 | 
							
										this.lon =mpoint.Longitude;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Marker: {
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									toProprietary: function() {
							 | 
						||
| 
								 | 
							
										var mmarker = new VEShape(VEShapeType.Pushpin, this.location.toProprietary('microsoft'));
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
										return mmarker;
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									openBubble: function() {		
							 | 
						||
| 
								 | 
							
										var mmarker = this.proprietary_marker;
							 | 
						||
| 
								 | 
							
										map.ClearInfoBoxStyles();
							 | 
						||
| 
								 | 
							
										mmarker.SetTitle(this.infoBubble);
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									hide: function() {
							 | 
						||
| 
								 | 
							
										this.proprietary_marker.hide();
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									show: function() {
							 | 
						||
| 
								 | 
							
										this.proprietary_marker_unhide();
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									update: function() {
							 | 
						||
| 
								 | 
							
										throw 'Not implemented';
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Polyline: {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									toProprietary: function() {
							 | 
						||
| 
								 | 
							
										var mpoints =[];
							 | 
						||
| 
								 | 
							
										for(var i =0, length = this.points.length; i < length; i++)
							 | 
						||
| 
								 | 
							
										{
							 | 
						||
| 
								 | 
							
											mpoints.push(this.points[i].toProprietary('microsoft'));
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										var mpolyline = new VEShape(VEShapeType.Polyline, mpoints);
							 | 
						||
| 
								 | 
							
										if(this.color){
							 | 
						||
| 
								 | 
							
											var color = new mxn.util.Color(this.color);
							 | 
						||
| 
								 | 
							
											var opacity = (typeof(this.opacity) == 'undefined' || this.opacity === null) ? 1.0 : this.opacity;
							 | 
						||
| 
								 | 
							
											var vecolor = new VEColor(color.red, color.green, color.blue, opacity);
							 | 
						||
| 
								 | 
							
											mpolyline.SetLineColor(vecolor);
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										//	TODO ability to change line width
							 | 
						||
| 
								 | 
							
										return mpolyline;
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									show: function() {
							 | 
						||
| 
								 | 
							
											this.proprietary_polyline.Show();
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									hide: function() {
							 | 
						||
| 
								 | 
							
											this.proprietary_polyline.Hide();
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								});
							 |