Skip to content

Commit

Permalink
Adding track display on map...
Browse files Browse the repository at this point in the history
  • Loading branch information
aparshin committed Jan 18, 2011
1 parent 338f141 commit 79908fd
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 23 deletions.
46 changes: 44 additions & 2 deletions cgi-bin/tracks.cgi
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,52 @@

use strict;
use CGI ':standard';
use CGI::Carp qw ( fatalsToBrowser );
use CGI::Carp qw ( fatalsToBrowser );

$CGI::POST_MAX = 1024*1024;

my $query = new CGI;
$query->charset('utf-8');

print $query->header;
print "Retuned from [{}{\"\"}''] server";

my $trackURL;

if ($query->param("upload_track"))
{
my $upload_filehandle = $query->upload("upload_track") or die "Can't upload file";

my $filename = "$$" . "$^T" . ".gpx";
open TMP_FILE, '>', "../tracks/" . $filename or die "$!";

binmode TMP_FILE;
print TMP_FILE while <$upload_filehandle>;
close TMP_FILE;

my $scriptAbsPath = "http://" . $ENV{SERVER_NAME} . ($ENV{SCRIPT_NAME} =~ m|(.+)/[^/]+$|)[0];
$trackURL = rel2absSimple("../tracks/" . $filename, $scriptAbsPath);
}
else
{
$trackURL = $query->param("web_track");
}

print $trackURL;

sub rel2absSimple
{
my ($rel, $base) = @_;

$rel =~ s|\\|/|;
$base =~ s|\\|/|;

# my $separator = ($res =~ /\\/) ? '\\' : '/';

while ($rel =~ m|^\.\./|)
{
$base =~ s|/[^/]+$||;
$rel =~ s|^\.\./||;
}

return $base . '/' . $rel;
}
37 changes: 17 additions & 20 deletions js/tracks.js
Original file line number Diff line number Diff line change
@@ -1,37 +1,34 @@
TrackWidget = function(m_map, m_container)
{
//var m_tracksDiv = $('<div></div>').addClass('ui-widget-content divTrackWidget');
//m_tracksDiv.append($('<form></form>').append($('<input></input>').attr({type:'button', value: 'Add track'})));
//$("body").append(m_tracksDiv);

var m_trackLayers = [];

$("#tw_frame", m_container).bind('load', function(){
alert( "Frame: " + $("#tw_frame", m_container).contents().find('body').text() );
})

$("#tw_add", m_container).bind('click', function()
var addTrack = function( trackURL )
{
alert( $("#tw_upload", m_container).val() );
var trackLocation = $("#tw_web", m_container).val();
// alert( $("#tw_upload", m_container).val() );
// var trackLocation = $("#tw_web", m_container).val();

if ( !trackLocation )
if ( !trackURL )
{
alert('Enter track location!');
return;
}

var m_trackLayer = new OpenLayers.Layer.GML('Track Layer', trackLocation,
var m_trackLayer = new OpenLayers.Layer.GML('Track Layer', trackURL,
{format: OpenLayers.Format.GPX,
style: {strokeColor: "blue", strokeWidth: 3, strokeOpacity: 1},
projection: new OpenLayers.Projection("EPSG:4326"),
displayInLayerSwitcher: false});

map.addLayers([m_trackLayer]);
});
}

TrackData = function()
{
map.addLayers([m_trackLayer]);
}

$("#tw_frame", m_container).bind('load', function(){
var trackURL = $("#tw_frame", m_container).contents().find('body').text();
addTrack(trackURL);
$("#tw_reset", m_container).trigger('click');
})

// $("#tw_add", m_container).bind('click', function()
// {

// });
}
5 changes: 4 additions & 1 deletion track_widget.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<div id = "divTrackWidget" class="ui-widget-content divTrackWidget">
<form action="cgi-bin/tracks.cgi" target="tw_frame">
<form action="cgi-bin/tracks.cgi" target="tw_frame" method="post" enctype="multipart/form-data">
<table width="100%">
<tr>
<td>From&nbsp;Web:</td>
Expand All @@ -11,6 +11,9 @@
<td><input id="tw_upload" type="file" name="upload_track"></td>
</tr>
</table>
<div style="display:none">
<input id = "tw_reset" type="reset">
</div>
</form>
<div style="display:none">
<iframe id="tw_frame" name="tw_frame"></iframe>
Expand Down

0 comments on commit 79908fd

Please sign in to comment.