/** * @author Eduardo Acevedo Farje. * @link www.eduardoaf.com * @version 1.0.4 * @name Javascript class for GoogleMaps3 * @uses google_maps_3.php, jquery v1.7+ */ var bug = function(value,title) { if(window.console != undefined) { if(title!=null) console.debug(title); console.debug(value); } }; var gmaps3 = { config : { sMapType : 'roadmap', sIdDivContainer : 'map_canvas', //Div contenedor iZoom : 6, fLatitude : 40.41694, //Puerta del sol (Madrid). fLongitude : -3.70361, arMarkers : [], useMarkersNumbers : true, drawLines : false, iWidth : 800, iHeight: 600, sUnitWH : 'px' }, //arLocations: [sTitle, sContent, fLatitude, fLongitude],..[] draw_markers : function(arMarkers) { var arTmpMarker; var oLatLng; var sTitle; var sContent; var iMarkerNumber; var iCoordZ; for(var i = 0; i < arMarkers.length; i++) { arTmpMarker = arMarkers[i]; sTitle = arTmpMarker[0]; sContent = arTmpMarker[1]; oLatLng = new google.maps.LatLng(arTmpMarker[2], arTmpMarker[3]); iMarkerNumber = i+1; iCoordZ = i+1; //bug(oLatLng,"oLatLng"); //iIconNumber = arTmpLocation[5]; this.draw_marker(sTitle, sContent, oLatLng, iMarkerNumber, iCoordZ); } }, //https://developers.google.com/maps/documentation/javascript/overlays#Markers draw_marker : function(sTitle, sContent, oLatLng, iNumber, iCoordZ, oMiImage,oMiShadow,oMiIcon,oShape) { var sIconUrl = 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld='; var sEndIconUrl = '|FE6256|000000'; var oInfoWindow = null; var oMarker = new google.maps.Marker ( { map: this.oMap, title: sTitle, position: oLatLng, zIndex: iCoordZ, image: oMiImage, //oMarkerImage shadow: oMiShadow, //oMarkerImage icon: oMiIcon, //oMarkerImage shape: oShape // coord: [1, 1, 1, 20, 18, 20, 18 , 1], type: 'poly' } ); if(oMiIcon==null && iNumber!='' && gmaps3.config.useMarkersNumbers) oMarker.icon = sIconUrl + iCoordZ + sEndIconUrl; if(sContent!=null && jQuery.trim(sContent)!='') { oInfoWindow = new google.maps.InfoWindow ( { content: sContent } ); var on_click = function() { oInfoWindow.open(gmaps3.oMap,oMarker); } google.maps.event.addListener(oMarker,'click',on_click); } //bug(oMarker,"oMarker"); }, draw_lines : function(arLatLong) { var arObjectsLl = []; var fLat = 0; var fLong = 0; var arTmpLatLong = []; var oTmpLatLng = null; for(var i = 0; i < arLatLong.length; i++) { arTmpLatLong = arLatLong[i]; fLat = arTmpLatLong[0]; fLong = arTmpLatLong[1]; oTmpLatLng = new google.maps.LatLng(fLat, fLong); arObjectsLl.push(oTmpLatLng); } //bug(arObjectsLl,"arObjectsLi"); var oPolyLine = new google.maps.Polyline ( { path: arObjectsLl, strokeColor: "#FF0000", strokeOpacity: 1.0, strokeWeight: 2 } ); oPolyLine.setMap(gmaps3.oMap); }, get_maptype : function(sType) { var oMapTypeId = null; var sType = sType || this.config.sMapType; sType = sType.toLowerCase(); if(sType=="roadmap") { oMapTypeId = google.maps.MapTypeId.ROADMAP; } else if(sType=="satelite") { oMapTypeId = google.maps.MapTypeId.SATELITE; } else if(sType=="hybrid") { oMapTypeId = google.maps.MapTypeId.HYBRID; } else //if(sType="terrain") { oMapTypeId = google.maps.MapTypeId.TERRAIN; } return oMapTypeId; }, extract_latlong_from_markers : function(arMarkers, asGoogleObj) { var arMarkers = arMarkers || this.config.arMarkers; var arLatLong = []; var arTemp = []; var fLatitude = 0; var fLongitude = 0; //Los marcadores es un array de arrays cuyas filas llevan como // for(var i=0; i