Index: lams_tool_gmap/web/includes/javascript/mapFunctions.js
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_gmap/web/includes/javascript/Attic/mapFunctions.js,v
diff -u -r1.5 -r1.6
--- lams_tool_gmap/web/includes/javascript/mapFunctions.js 3 Jun 2008 03:53:16 -0000 1.5
+++ lams_tool_gmap/web/includes/javascript/mapFunctions.js 4 Jun 2008 05:54:41 -0000 1.6
@@ -1,9 +1,15 @@
-
// add a marker at the given point
-function addMarker(point, infoMessage, title, uid, isSaved)
+function addMarker(point, infoMessage, title, uid, isSaved, editAble, createdBy)
{
map.closeInfoWindow();
- var marker = new GMarker(point, {draggable: true})
+ var marker;
+
+ if(editAble) {marker = new GMarker(point, {draggable: true});}
+ else {marker = new GMarker(point, {draggable: false})};
+
+ marker.editAble = editAble;
+ marker.createdBy = createdBy;
+
map.addOverlay(marker);
GEvent.addListener(marker, "dragstart", function() {
@@ -12,7 +18,6 @@
GEvent.addListener(marker, "dragend", function() {
if (marker.state == "unchanged") {marker.state = "update";}
- //serialiseMarkers();
updateMarkerInfoWindowHtml(marker);
});
@@ -32,37 +37,27 @@
{
marker.infoMessage = "";
}
-
- //marker.title = "Marker #" + markers.length;
marker.title = title;
+
- //sideBar(marker.infoMessage, markers.length);
-
-
// set the state of the marker
marker.editingOn = !isSaved;
marker.uid = uid;
if (isSaved){marker.state = "unchanged";}
else {marker.state="unsaved";}
- marker.sideBarLinkPrefix = "
";
+ sideBarText += markers[i].sideBarLinkPrefix + " title='" + markers[i].createdBy + "' >" + markers[i].title+"
";
}
}
document.getElementById("sidebar").innerHTML = sideBarText;
}
-
-function test()
-{
- serialiseMarkers();
- alert(document.authoringForm.markersXML.value);
-}
-
-function removeMarker(x)
-{
- var ans = confirm(confirmDelete);
- if (ans)
- {
- try{map.removeOverlay(markers[x]);}
- catch (e){}
- markers[x].state = "remove";
- refreshSideBar();
- //serialiseMarkers();
- }
-}
-
-function editMarker(x)
-{
- markers[x].editingOn = true;
- updateMarkerInfoWindowHtml(markers[x]);
- openInfoWindow(x);
-}
-
function cancelEditMarkerInfo(x)
{
if (markers[x].state == "unsaved")
@@ -118,52 +86,6 @@
}
}
-function updateMarkerInfoWindowHtml(markerIn)
-{
- markerIn.locationMessage = "";
- markerIn.locationMessage += "Latitude: " + markerIn.getPoint().lat() + "
";
- markerIn.locationMessage += "Longitude: " + markerIn.getPoint().lng() + "
";
- markerIn.locationMessage += "";
- markerIn.infoWindowHtml = markerIn.locationMessage;
-
- if (markerIn.state == "unchanged")
- {
- markerIn.setImage(webAppUrl + "/images/blue_Marker.png");
- }
- else if (markerIn.state == "update" || markerIn.state == "save")
- {
- markerIn.setImage(webAppUrl + "/images/paleblue_Marker.png");
- }
- else if (markerIn.state == "unsaved")
- {
- markerIn.setImage(webAppUrl + "/images/red_Marker.png");
- }
-
- if (markerIn.editingOn)
- {
- markerIn.linksBar = "
" + markerIn.saveLink + " " + markerIn.cancelLink;
-
- //markerIn.inputForm = "New Info Window Text:
";
- //markerIn.inputForm += "
";
- //markerIn.infoWindowTextarea = "New Info Window Text:
";
- markerIn.inputForm = "Title:
";
- markerIn.inputForm += "New Info Window Text:
";
- //markerIn.inputForm = "" + markerIn.infoWindowTextarea;
- markerIn.infoWindowHtml += markerIn.inputForm + markerIn.linksBar;
- }
- else
- {
- markerIn.linksBar = "
" + markerIn.removeLink + " " + markerIn.editLink;
- markerIn.inputForm = "";
- markerIn.infoWindowHtml += markerIn.infoMessage + "
" + markerIn.inputForm + markerIn.linksBar;
- }
-}
-
function openInfoWindow(x)
{
markers[x].openInfoWindowHtml(markers[x].infoWindowHtml);
@@ -196,150 +118,71 @@
function fitMapMarkers()
{
- var bounds = new GLatLngBounds();
- for (var i=0; i< markers.length; i++) {
- bounds.extend(markers[i].getPoint());
- }
- map.setZoom(map.getBoundsZoomLevel(bounds));
- //map.setCenter(bounds.getCenter());
- map.panTo(bounds.getCenter());
-
-}
-
-function saveMarkerInfo(x)
-{
- if (markers[x] != null)
+ var bounds = new GLatLngBounds();
+ for (var i=0; i< markers.length; i++)
{
- var title= trim(document.getElementById("markerTitle").value);
- if (title==null || title == "")
+ if (markers[i].state != "remove")
{
- alert(errorMissingTitle);
- return false;
+ bounds.extend(markers[i].getPoint());
}
- else
- {
-
- var info=document.getElementById("infoWindow").value;
- markers[x].title = title;
- markers[x].infoMessage = info;
- markers[x].editingOn = false;
-
- // change the state to update if it is a pre-existing marker
- if (markers[x].state == "unchanged") {markers[x].state = "update";}
- else (markers[x].state ="save");
-
- //markers[x].isSaved = persistMarker(markers[x], "createMarker");
- updateMarkerInfoWindowHtml(markers[x]);
- refreshSideBar();
- }
}
+ var zoom = map.getBoundsZoomLevel(bounds) - 1;
+ if (zoom > 15) {zoom = 15;}
+ map.setZoom(zoom);
+ map.panTo(bounds.getCenter());
+
}
function trim(x)
{
return x.replace(/^\s+|\s+$/g, '')
}
-/*
-function getAjaxObject()
+function updateMarkerInfoWindowHtml(markerIn)
{
- var req=null;
- if ( window.XMLHttpRequest ) {req = new XMLHttpRequest();}
- else {req = new ActiveXObject("MSXML2.XMLHTTP");}
- return req;
-}
-*/
-
-/*
-function persistMarker(marker, method)
-{
- var ajax = getAjaxObject();
- var result = null;
- ajax.onreadystatechange = function()
- {
- if(ajax.readyState == 4)
- {
- result = ajax.responseText;
- }
+ if (markerIn.state == "unchanged")
+ {
+ markerIn.setImage(webAppUrl + "/images/blue_Marker.png");
}
-
- var url = webAppUrl + "/marker.do?" +
- "&method=" + method +
- "&toolContentID=" + toolContentID +
- "&latitude=" + marker.getPoint().lat() +
- "&longitude=" + marker.getPoint().lng() +
- "&infoMessage=" + marker.infoMessage;
-
- try
- {
- ajax.open("GET",url,false);
- ajax.send(null);
-
- if (result=="success")
- {
- alert("yay!");
- return true;
- }
- else
- {
- //TODO: handle marker save failure
- alert("boo!");
- return false;
- }
+ else if (markerIn.state == "update" || markerIn.state == "save")
+ {
+ markerIn.setImage(webAppUrl + "/images/paleblue_Marker.png");
}
- catch(e)
+ else if (markerIn.state == "unsaved")
{
- return e;
- //alert("An error occurred: " + e);
+ markerIn.setImage(webAppUrl + "/images/red_Marker.png");
}
-}*/
-
-
-function serialiseMarkers()
-{
- var xmlString = '
" + markerIn.saveLink + " " + markerIn.cancelLink;
+ markerIn.inputForm = "Title:
";
+ markerIn.inputForm += "New Info Window Text:
";
+ markerIn.markerMetaData = "";
+ markerIn.markerMetaData += "
" +markerIn.markerMetaData + markerIn.linksBar;
}
- xmlString += "
" + markerIn.removeLink + " " + markerIn.editLink;
+ }
+ markerIn.markerMetaData = "";
+ markerIn.markerMetaData += "Created By: " + markerIn.createdBy + "
";
+ markerIn.markerMetaData += "