Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register

Changeset 5307

Show
Ignore:
Timestamp:
08/18/08 17:57:58 (3 months ago)
Author:
TorLye
Message:

gmapsimageviewer: Fixed moving of annotation markers. New icon for markers that are being moved.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openmrs-modules/gmapsimageviewer/metadata/messages.properties

    r5245 r5307  
    2020@MODULE_ID@.opennewwindow=Open in new window 
    2121@MODULE_ID@.links=Links 
     22@MODULE_ID@.moveexplain1=You can now move this annotation by dragging it to its new location. 
     23@MODULE_ID@.moveexplain2=Save, cancel or move some more? 
  • openmrs-modules/gmapsimageviewer/web/module/portlets/imageViewerWindow.jsp

    r5298 r5307  
    1313        var annoationlist; 
    1414        var markerlist; 
     15 
     16        //Icon to use for markers that are being moved 
     17        var blueIcon = new GIcon(G_DEFAULT_ICON); 
     18        blueIcon.image = "${pageContext.request.contextPath}/moduleResources/gmapsimageviewer/blue-dot.png"; 
    1519 
    1620        function ImageViewerLoad() { 
     
    8084                                        var latlng = map.getCurrentMapType().getProjection().fromPixelToLatLng(point, ${model.nullScaleZoomLevel}); 
    8185                                         
    82                                         var message = annotationitem.text + "<br/>" 
     86                                        var message = "<div>" + annotationitem.text + "<br/>" 
    8387                                                        + "<spring:message code='gmapsimageviewer.date' />: " 
    8488                                                        + annotationitem.date 
     
    8791                                                        + "<a onclick='dragMarker(" + listindex + ")'><spring:message code='gmapsimageviewer.move' /></a> " 
    8892                                                        + "<a onclick='editMarker(" + listindex + ")'><spring:message code='gmapsimageviewer.edit' /></a> " 
    89                                                         + "<a onclick='deleteMarker(" + listindex + ")'><spring:message code='gmapsimageviewer.delete' /></a>
     93                                                        + "<a onclick='deleteMarker(" + listindex + ")'><spring:message code='gmapsimageviewer.delete' /></a></div>
    9094 
    9195                                        var newmarker = putMarker(latlng, message); 
     
    101105        //This function creates a marker at the given point and adds a listener to open its info window 
    102106        function putMarker(point, message) { 
    103                 var marker = new GMarker(point, {draggable: true}); 
     107                var marker = new GMarker(point); 
    104108                GEvent.addListener(marker, "click", function() { 
    105109                        marker.openInfoWindowHtml(message); 
     
    109113 
    110114        function createMarker(point) { 
    111                 var marker = new GMarker(point, {draggable: true}); 
     115                var marker = new GMarker(point); 
    112116                var point = map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getLatLng(), ${model.nullScaleZoomLevel}); 
    113117                map.addOverlay(marker); 
    114118                marker.openInfoWindowHtml( 
    115                         "<form id='newmarkerform' method='post' action=''>" 
     119                        "<div><form id='newmarkerform' method='post' action=''>" 
    116120                        + "<input type='hidden' name='obsid' value='${model.obsId}' />" 
    117121                        + "<input type='hidden' name='id' value='-1' />" 
     
    121125                        + "<a onclick='saveMarker()'><spring:message code='gmapsimageviewer.save' /></a> " 
    122126                        + "<a onclick='map.closeInfoWindow()'><spring:message code='gmapsimageviewer.cancel' /></a>" 
    123                         + "</form>
     127                        + "</form></div>
    124128                ); 
    125129 
     
    151155                var point = map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getLatLng(), ${model.nullScaleZoomLevel}); 
    152156                marker.openInfoWindowHtml( 
    153                         "<form id='newmarkerform' method='post' action=''>" 
     157                        "<div><form id='newmarkerform' method='post' action=''>" 
    154158                        + "<input type='hidden' name='obsid' value='${model.obsId}' />" 
    155159                        + "<input type='hidden' name='id' value='" + annotationitem.id + "' />" 
     
    160164                        + "<a onclick='saveMarker()'><spring:message code='gmapsimageviewer.save' /></a> " 
    161165                        + "<a onclick='map.closeInfoWindow()'><spring:message code='gmapsimageviewer.cancel' /></a>" 
    162                         + "</form>
     166                        + "</form></div>
    163167                ); 
    164168 
     
    170174        function saveNewMarkerPosition(listindex, lat, lng) { 
    171175                var annotationitem = annoationlist[listindex]; 
    172                 var point = map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getLatLng(), ${model.nullScaleZoomLevel}); 
     176                var point = map.getCurrentMapType().getProjection().fromLatLngToPixel(new GLatLng(lat, lng), ${model.nullScaleZoomLevel}); 
    173177                jQuery.post( 
    174178                        "${pageContext.request.contextPath}/moduleServlet/gmapsimageviewer/imageAnnotationServlet", 
     
    193197 
    194198        function dragMarker(listindex) { 
    195                 var marker = markerlist[listindex]; 
     199                var oldmarker = markerlist[listindex]; 
    196200                var annotationitem = annoationlist[listindex]; 
    197                 var point = map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getLatLng(), ${model.nullScaleZoomLevel}); 
    198                 marker.enableDragging(); 
    199                 marker.openInfoWindowHtml( 
    200                         "<div>U CAN MOV ME NOWZ, K??</div>" 
    201                 ); 
    202  
    203                 var dragListener = GEvent.addListener(marker, "dragstart", function() { 
     201                 
     202                map.removeOverlay(oldmarker); 
     203                 
     204                var newmarker = new GMarker(oldmarker.getLatLng(), {draggable: true, icon: blueIcon}); 
     205                map.addOverlay(newmarker); 
     206                newmarker.enableDragging(); 
     207                newmarker.openInfoWindowHtml( 
     208                        "<div><spring:message code='gmapsimageviewer.moveexplain1' /></div>" 
     209                ); 
     210 
     211                var dragListener = GEvent.addListener(newmarker, "dragstart", function() { 
    204212                        map.closeInfoWindow(); 
    205213                }); 
    206214 
    207                 var dropListener = GEvent.addListener(marker, "dragend", function() { 
    208                         marker.openInfoWindowHtml("<div>OMG U MOVD ME!!1<br/>" 
    209                                         + "<a onclick='dragMarker(" + listindex + ")'>Moar movings</a> " 
    210                                         + "<a onclick='saveNewMarkerPosition(" + listindex + ", " + marker.getPoint().lat() + ", " + marker.getPoint().lng() + ")'>Yay</a> " 
    211                                         + "<a onclick='map.clearOverlays(); loadMarkers()'>Noes</a>" 
     215                var dropListener = GEvent.addListener(newmarker, "dragend", function() { 
     216                        newmarker.openInfoWindowHtml("<div><spring:message code='gmapsimageviewer.moveexplain2' /><br/>" 
     217                                        + "<a onclick='saveNewMarkerPosition(" + listindex + ", " + newmarker.getPoint().lat() + ", " + newmarker.getPoint().lng() + ")'><spring:message code='gmapsimageviewer.save' /></a> " 
     218                                        + "<a onclick='map.clearOverlays(); loadMarkers()'><spring:message code='gmapsimageviewer.cancel' /></a>" 
    212219                                        + "</div>"); 
    213                         marker.disableDragging(); 
    214                          
    215                         //var listener = GEvent.addListener(map, "infowindowclose", function() { 
    216                         //      GEvent.removeListener(listener); 
    217                         //}); 
    218                         GEvent.removeListener(dragListener); 
    219                         GEvent.removeListener(dropListener); 
    220220                }); 
    221221        }