aboutsummaryrefslogtreecommitdiffstats
path: root/www/js
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2012-11-05 16:42:59 +0000
committerStruan Donald <struan@exo.org.uk>2012-11-05 16:45:56 +0000
commitd5c936bf416cb39c9165f16331ffa6e05dedefc0 (patch)
tree28f5ee2c84a074d96e1e59111e2791230c5e4693 /www/js
parent82df7435baae2a3617a98c616ee019a1c668376d (diff)
use crosshairs for reporting problem location
Diffstat (limited to 'www/js')
-rw-r--r--www/js/map-OpenLayers.js13
-rw-r--r--www/js/mobile.js18
2 files changed, 30 insertions, 1 deletions
diff --git a/www/js/map-OpenLayers.js b/www/js/map-OpenLayers.js
index 7edcffa..c5fbe59 100644
--- a/www/js/map-OpenLayers.js
+++ b/www/js/map-OpenLayers.js
@@ -325,11 +325,13 @@ function show_map(event) {
});
}
+ /*
if (document.getElementById('mapForm')) {
var click = new OpenLayers.Control.Click();
fixmystreet.map.addControl(click);
click.activate();
}
+ */
$(window).hashchange(function(){
if (location.hash == '#report' && $('.rap-notes').is(':visible')) {
@@ -404,6 +406,17 @@ OpenLayers.Control.Crosshairs.prototype =
(2 * mapSize.h / 5) - (this.imageSize.h / 2));
},
+ getMapPosition: function() {
+ var left = parseInt( $('#' + OpenLayers.Control.Crosshairs.DIV_ID).css('left') );
+ var top = parseInt( $('#' + OpenLayers.Control.Crosshairs.DIV_ID).css('top') );
+
+ left += ( this.imageSize.w / 2 );
+ top += ( this.imageSize.h / 2 );
+
+ var pos = this.map.getLonLatFromViewPortPx( new OpenLayers.Pixel( left, top ) );
+ return pos;
+ },
+
reposition: function() {
var position = this.getIdealPosition();
$('#' + OpenLayers.Control.Crosshairs.DIV_ID).css({
diff --git a/www/js/mobile.js b/www/js/mobile.js
index 8c77fc7..f6d5e77 100644
--- a/www/js/mobile.js
+++ b/www/js/mobile.js
@@ -424,6 +424,21 @@ function sign_out_around() {
} );
}
+function set_location() {
+ var cross = fixmystreet.map.getControlsByClass(
+ "OpenLayers.Control.Crosshairs");
+
+ var position = cross[0].getMapPosition();
+ position.transform(
+ fixmystreet.map.getProjectionObject(),
+ new OpenLayers.Projection("EPSG:4326")
+ );
+
+ localStorage.latitude = position.lat;
+ localStorage.longitude = position.lon;
+ $.mobile.changePage('submit-problem.html');
+}
+
function account() {
$('.mobile-sign-in-banner').show();
$('#account').show();
@@ -507,7 +522,7 @@ function display_saved_reports() {
var item = $('<li class="saved-report" id="' + i + '"></li>');
var date;
if ( r[i].time ) {
- var date = new Date( r[i].time );
+ date = new Date( r[i].time );
date = date.getDate() + '-' + ( date.getMonth() + 1 ) + '-' + date.getFullYear();
date += ' ' + date.getHour() + ':' + date.getMinute();
} else {
@@ -594,3 +609,4 @@ $(document).delegate('#my-reports-page', 'pageshow', display_saved_reports);
$(document).delegate('#report-page', 'pageshow', display_saved_report);
$(document).delegate('#submit-problem', 'pageshow', submit_problem_show);
$(document).delegate('.saved-report', 'click', open_saved_report_page);
+$(document).delegate('#mark-here', 'click', set_location);