--- a/betweenpoint.php +++ b/betweenpoint.php @@ -10,11 +10,46 @@ // create the ol map object var map = new OpenLayers.Map('map'); - var osmtiles = new OpenLayers.Layer.OSM("local", "http://127.0.0.1/Maps/OSM/${z}/${x}/${y}.png") + var osmtiles = new OpenLayers.Layer.OSM("local", "http://10.0.1.154/tiles/${z}/${x}/${y}.png") // use http://open.atlas.free.fr/GMapsTransparenciesImgOver.php and http://code.google.com/p/googletilecutter/ to make tiles markers = new OpenLayers.Layer.Markers("Between Stop Markers"); - + //hanlde mousedown on regions that are not points by reporting latlng +OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, { + defaultHandlerOptions: { + 'single': true, + 'double': false, + 'pixelTolerance': 0, + 'stopSingle': false, + 'stopDouble': false + }, + + initialize: function(options) { + this.handlerOptions = OpenLayers.Util.extend( + {}, this.defaultHandlerOptions + ); + OpenLayers.Control.prototype.initialize.apply( + this, arguments + ); + this.handler = new OpenLayers.Handler.Click( + this, { + 'click': this.trigger + }, this.handlerOptions + ); + }, + + trigger: function(e) { + var lonlat = map.getLonLatFromViewPortPx(e.xy).transform( + new OpenLayers.Projection("EPSG:900913"), + new OpenLayers.Projection("EPSG:4326") + ); + $('form input[name="newlatlng"]').val(lonlat.lat + ";" + lonlat.lon ); + } + + }); + var click = new OpenLayers.Control.Click(); + map.addControl(click); + click.activate(); ",2)[0]); $("#to").val(fromto.split("->",2)[1]); + document.getElementById("between_points").innerHTML = ""; return true; } @@ -126,9 +169,11 @@ if (($fname != '.') && ($fname != '..')) { $timetable = Spyc::YAMLLoad("maxious-canberra-transit-feed/output/" . $fname); // Strip off individual platforms because it usually doesn't matter for routes - $timetable["time_points"] = preg_replace("/-.* Platform.*/","",$timetable["time_points"]); + $timetable["time_points"] = preg_replace("/\(Platform.*/","",$timetable["time_points"]); for ($i = 0; $i < sizeof($timetable["time_points"]) - 1; $i++) { - @$paths[trim($timetable["time_points"][$i]) . "->" . trim($timetable["time_points"][$i + 1])] .= $timetable["short_name"] . ";"; + $key = trim($timetable["time_points"][$i]) . "->" . trim($timetable["time_points"][$i + 1]); + if (strstr($paths[$key],";" . $timetable["short_name"] . ";") === false) + @$paths[$key] .= $timetable["short_name"] . ";"; } } } @@ -138,9 +183,12 @@ $completedPaths = array(); $result_betweenstops = pg_query($conn, "Select * FROM between_stops"); while ($path = pg_fetch_assoc($result_betweenstops)) { - $completedPaths[trim($path['fromlocation']) . "->" . trim($path['tolocation'])] .= trim($path['routes']); - } - + $key = trim($path['fromlocation']) . "->" . trim($path['tolocation']); + $completedPaths[$key].= trim($path['routes']); + + } + + foreach ($paths as $path => $routes) { if (!in_array($path, array_keys($completedPaths))) { echo "\n"; @@ -149,12 +197,14 @@ $incompleteRoutes = ""; foreach (explode(";", $routes) as $route) { - if (!in_array($route,$completedRoutes)) { + if (!in_array($route,$completedRoutes) && strstr($incompleteRoutes,';'.$route.';') === false) { $incompleteRoutes .= $route.';'; } } - if ($incompleteRoutes != "") echo "\n"; + if ($incompleteRoutes != "") { + echo "\n"; + } } } @@ -170,6 +220,12 @@
+
+oldgeopo +newlatlng + + +