var map7; var bounds7; var businesses7; var geocodes7; var cntGeocoded7 = 0; var directionsPanel7; var directions7; var focusedBusiness7; function generateMap7() { if (GBrowserIsCompatible() && document.getElementById("svmap_canvas7") != null) { geocoder7 = new GClientGeocoder(); geocoder7.setCache(null); var mapOptions = { mapTypes:[G_NORMAL_MAP] }; map7 = new GMap2(document.getElementById("svmap_canvas7"), mapOptions); var mapControl = new GMapTypeControl(); map7.addControl(mapControl); map7.addControl(new GLargeMapControl()); map7.disableDoubleClickZoom(); map7.disableScrollWheelZoom(); bounds7 = new GLatLngBounds; map7.setCenter(new GLatLng(43.8522623255626,4.772658348083496), 13); var marker3 = new GIcon(); marker3.image = "http://www.graveson-provence.fr/components/com_svmap/markers/blue.png"; marker3.iconSize = new GSize(12,20); marker3.iconAnchor = new GPoint(6,20); marker3.infoWindowAnchor = new GPoint(6,10); var marker12 = new GIcon(); marker12.image = "http://www.graveson-provence.fr/components/com_svmap/markers/start.png"; marker12.iconSize = new GSize(20,34); marker12.iconAnchor = new GPoint(10,34); marker12.infoWindowAnchor = new GPoint(10,17); var marker14 = new GIcon(); marker14.image = "http://www.graveson-provence.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); var marker15 = new GIcon(); marker15.image = "http://www.graveson-provence.fr/components/com_svmap/markers/letter-b.png"; marker15.iconSize = new GSize(20,34); marker15.iconAnchor = new GPoint(10,34); marker15.infoWindowAnchor = new GPoint(10,17); var marker16 = new GIcon(); marker16.image = "http://www.graveson-provence.fr/components/com_svmap/markers/letter-c.png"; marker16.iconSize = new GSize(20,34); marker16.iconAnchor = new GPoint(10,34); marker16.infoWindowAnchor = new GPoint(10,17); var marker20 = new GIcon(); marker20.image = "http://www.graveson-provence.fr/components/com_svmap/markers/letter-g.png"; marker20.iconSize = new GSize(20,34); marker20.iconAnchor = new GPoint(10,34); marker20.infoWindowAnchor = new GPoint(10,17); var marker21 = new GIcon(); marker21.image = "http://www.graveson-provence.fr/components/com_svmap/markers/letter-h.png"; marker21.iconSize = new GSize(20,34); marker21.iconAnchor = new GPoint(10,34); marker21.infoWindowAnchor = new GPoint(10,17); var marker25 = new GIcon(); marker25.image = "http://www.graveson-provence.fr/components/com_svmap/markers/letter-l.png"; marker25.iconSize = new GSize(20,34); marker25.iconAnchor = new GPoint(10,34); marker25.infoWindowAnchor = new GPoint(10,17); var marker26 = new GIcon(); marker26.image = "http://www.graveson-provence.fr/components/com_svmap/markers/letter-m.png"; marker26.iconSize = new GSize(20,34); marker26.iconAnchor = new GPoint(10,34); marker26.infoWindowAnchor = new GPoint(10,17); var marker29 = new GIcon(); marker29.image = "http://www.graveson-provence.fr/components/com_svmap/markers/letter-p.png"; marker29.iconSize = new GSize(20,34); marker29.iconAnchor = new GPoint(10,34); marker29.infoWindowAnchor = new GPoint(10,17); var marker31 = new GIcon(); marker31.image = "http://www.graveson-provence.fr/components/com_svmap/markers/letter-r.png"; marker31.iconSize = new GSize(20,34); marker31.iconAnchor = new GPoint(10,34); marker31.infoWindowAnchor = new GPoint(10,17); var marker32 = new GIcon(); marker32.image = "http://www.graveson-provence.fr/components/com_svmap/markers/letter-s.png"; marker32.iconSize = new GSize(20,34); marker32.iconAnchor = new GPoint(10,34); marker32.infoWindowAnchor = new GPoint(10,17); var marker33 = new GIcon(); marker33.image = "http://www.graveson-provence.fr/components/com_svmap/markers/letter-t.png"; marker33.iconSize = new GSize(20,34); marker33.iconAnchor = new GPoint(10,34); marker33.infoWindowAnchor = new GPoint(10,17); } } function setBounds7(bounds) { map7.setZoom(map7.getBoundsZoomLevel(bounds)); map7.setCenter(bounds.getCenter()); } function geocodeBusinesses7() { if (cntGeocoded7 < geocodes7.length) { geocoder7.getLocations(geocodes7[cntGeocoded7][7], addressResolved7); } } function addressResolved7(response) { var delay = 0; if (response.Status.code == 620) { delay = 500; } else { if (response.Status.code == 200) { var address = response.Placemark[0]; geocodes7[cntGeocoded7][3] = address.Point.coordinates[1]; geocodes7[cntGeocoded7][4] = address.Point.coordinates[0]; addBusiness(geocodes7[cntGeocoded7]); // Move onto the next address; this skips bad addresses, too. cntGeocoded += 1; } } window.setTimeout(geocodeBusinesses7, delay); } function addBusinesses7() { for (var i=0; i < businesses7.length; i++) { addBusiness7(businesses7[i]); } } function addBusiness7(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 = '
Trouver un itinéraire : A partir de ce lieu - Vers ce lieu
'; var info = business[5]; info += form; var div = document.createElement("div"); div.style.width = "300px"; div.style.height = "200px"; var pano = new GStreetviewPanorama(div); pano.setLocationAndPOV(point); GEvent.addListener(pano, "error", function() { marker.bindInfoWindowHtml(info); } ); var tabs = [new GInfoWindowTab('Info', info),new GInfoWindowTab('StreetView', div)]; marker.bindInfoWindowTabsHtml(tabs); GEvent.addListener(marker, "infowindowopen", function() { pano.show(); }); GEvent.addListener(marker, "infowindowbeforeclose", function() { pano.hide(); }); map7.addOverlay(marker); bounds7.extend(point); setBounds7(bounds7); } function showFormFrom() { document.getElementById('formFrom').style.display = 'block'; document.getElementById('formTo').style.display = 'none'; return false; } function showFormTo() { document.getElementById('formTo').style.display = 'block'; document.getElementById('formFrom').style.display = 'none'; return false; } function findDirections7(from, to) { if (directions7 == null) { directionsPanel7 = document.getElementById('svmap_directions_panel7'); directions7 = new GDirections(map7, directionsPanel7); GEvent.addListener(directions7, "error", directionsError); } else { directions7.clear(); } directions7.load("from: "+from+" to: "+to); } function directionsError(response) { status = response.getStatus(); switch (status.code) { case 602: message = "No corresponding geographic location could be found for the specified address. This may be due to the fact that the address is relatively new, or it may be incorrect."; break; case 603: message = "The route for the given directions query cannot be returned due to legal or contractual reasons."; break; case 604: message = "The directions between the points mentioned in the query could not be computed. This is usually because there is no route available between the two points, or because there is no data for routing in that region."; break; default: message = "The directions between the points mentioned in the query could not be computed."; break; } alert(message); }