DropZoneMap={map:null,dropzones:[],markers:[],boxes:null,default_icon:'http://boston.openguides.org/markers/AQUA.png',group_icon:'../images/markerGroup.png',dz_icon:'/site_media/static/images/markers/dz_marker.png',tunnel_icon:'/site_media/static/images/markers/tunnel_marker.png',tileCount:10,infowindow:new google.maps.InfoWindow({content:''}),options:{},initialize:function(options){var latlng=new google.maps.LatLng(38.532221,-7.889042);var myOptions={zoom:10,center:latlng,mapTypeId:google.maps.MapTypeId.HYBRID};this.map=new google.maps.Map(document.getElementById("map"),myOptions);this.map.app=this;if(options){this.options=options;}else{this.options={popups:true,};}
google.maps.event.addListener(this.map,'bounds_changed',function(){this.app.refresh_dropzones(this.getBounds());});},add_dropzone:function(dropzone){this.dropzones.push(dropzone);this.createDropzoneMarker(dropzone);},refresh_dropzones:function(bounds){if(bounds){for(var i=0;i<this.markers.length;i++){var marker=this.markers[i];if(bounds.contains(marker.dz.location)&&marker.getMap()==null){marker.setMap(this.map);}else if(!bounds.contains(marker.dz.location)&&marker.getMap()!=null){marker.setMap(null);}}}},drawGroupedMapItemMarkers:function(matrix,visibleArea,dx,dy){},createGroupMarker:function(location,number_of_dropzones){var marker=new google.maps.Marker({position:location,icon:new google.maps.MarkerImage(this.group_icon),number_of_dropzones:number_of_dropzones,});this.markers.push(marker);},createDropzoneMarker:function(dz){var clickedLocation=new google.maps.LatLng(dz.location);var icon=this.dz_icon;if(dz.is_tunnel){icon=this.tunnel_icon;}
var marker=new google.maps.Marker({position:dz.location,draggable:true,icon:icon,dz:dz,});if(this.options.popups){google.maps.event.addListener(marker,'click',function(event){var map=this.map;if(event&&event!='[object MouseEvent]'){map=event;}
var content='<a href="/dzs/details/'+marker.dz.id+'/">'+marker.dz.title+'</a><br />'+'Lat: '+marker.dz.location.lat()+'<br />'+'Lng: '+marker.dz.location.lng()+'<br />'+'Description: '+marker.dz.description;map.app.infowindow.setContent(content);map.app.infowindow.open(map,marker);});}
this.markers.push(marker);},}