var map; var bounds; var businesses; var geocodes; var cntGeocoded = 0; var directionsPanel; var directions; var focusedBusiness; function generateMap() { if (GBrowserIsCompatible() && document.getElementById("svmap_canvas") != null) { geocoder = new GClientGeocoder(); geocoder.setCache(null); var mapOptions = { mapTypes:[G_NORMAL_MAP] , googleBarOptions : { style : "new", adsOptions: { client: "ca-pub-2835077168755201", channel: "", adsafe: "medium", language: "en" } } }; map = new GMap2(document.getElementById("svmap_canvas"), mapOptions); var mapControl = new GMapTypeControl(); map.addControl(mapControl); map.addControl(new GLargeMapControl()); map.enableGoogleBar(); map.addControl(new GOverviewMapControl()); map.disableDoubleClickZoom(); map.enableScrollWheelZoom(); bounds = new GLatLngBounds; map.setCenter(new GLatLng(48.48885175366314,-1.9994258880615234), 14); var marker14 = new GIcon(); marker14.image = "http://chambretypic.free.fr/components/com_svmap/markers/letter-a.png"; marker14.iconSize = new GSize(20,34); marker14.iconAnchor = new GPoint(10,34); marker14.infoWindowAnchor = new GPoint(10,17); businesses = [[1,marker14,"",48.48898187942329,-1.999361515045166,'
',"/index.php?option=com_svmap&layout=business&business=1&name=&Itemid=10",""]]; addBusinesses(); } } function setBounds(bounds) { map.setZoom(map.getBoundsZoomLevel(bounds)); map.setCenter(bounds.getCenter()); } function geocodeBusinesses() { if (cntGeocoded < geocodes.length) { geocoder.getLocations(geocodes[cntGeocoded][7], addressResolved); } } function addressResolved(response) { var delay = 0; if (response.Status.code == 620) { delay = 500; } else { if (response.Status.code == 200) { var address = response.Placemark[0]; geocodes[cntGeocoded][3] = address.Point.coordinates[1]; geocodes[cntGeocoded][4] = address.Point.coordinates[0]; addBusiness(geocodes[cntGeocoded]); } // Move onto the next address; this skips bad addresses, too. cntGeocoded += 1; } window.setTimeout(geocodeBusinesses, delay); } function addBusinesses() { for (var i=0; i < businesses.length; i++) { addBusiness(businesses[i]); } } function addBusiness(business) { var point = new GLatLng(business[3], business[4]); var markerOptions = { icon:business[1], draggable: false, "title":business[2] }; var marker = new GMarker(point, markerOptions); var form = '