maxious-canberra-transit-feed/output/ | |
/** | |
* Namespace: Util.OSM | |
*/ | |
OpenLayers.Util.OSM = {}; | |
/** | |
* Constant: MISSING_TILE_URL | |
* {String} URL of image to display for missing tiles | |
*/ | |
OpenLayers.Util.OSM.MISSING_TILE_URL = "/404.php"; | |
/** | |
* Property: originalOnImageLoadError | |
* {Function} Original onImageLoadError function. | |
*/ | |
OpenLayers.Util.OSM.originalOnImageLoadError = OpenLayers.Util.onImageLoadError; | |
/** | |
* Function: onImageLoadError | |
*/ | |
OpenLayers.Util.onImageLoadError = function() { | |
if (this.src.match(/^http:\/\/[abc]\.[a-z]+\.openstreetmap\.org\//)) { | |
this.src = OpenLayers.Util.OSM.MISSING_TILE_URL; | |
} else if (this.src.match(/^http:\/\/[def]\.tah\.openstreetmap\.org\//)) { | |
// do nothing - this layer is transparent | |
} else { | |
OpenLayers.Util.OSM.originalOnImageLoadError; | |
} | |
}; | |
/** | |
* Class: OpenLayers.Layer.OSM.Mapnik | |
* | |
* Inherits from: | |
* - <OpenLayers.Layer.OSM> | |
*/ | |
OpenLayers.Layer.OSM.Mapnik = OpenLayers.Class(OpenLayers.Layer.OSM, { | |
/** | |
* Constructor: OpenLayers.Layer.OSM.Mapnik | |
* | |
* Parameters: | |
* name - {String} | |
* options - {Object} Hashtable of extra options to tag onto the layer | |
*/ | |
initialize: function(name, options) { | |
var url = [ | |
"http://a.tiles.bigtincan.com/${z}/${x}/${y}.png", | |
"http://b.tiles.bigtincan.com/${z}/${x}/${y}.png", | |
"http://c.tiles.bigtincan.com/${z}/${x}/${y}.png" | |
]; | |
options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options); | |
var newArguments = [name, url, options]; | |
OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments); | |
}, | |
CLASS_NAME: "OpenLayers.Layer.OSM.Mapnik" | |
}); | |
OpenLayers.Layer.OSM.NearMap = OpenLayers.Class(OpenLayers.Layer.OSM, { | |
/** | |
* Constructor: OpenLayers.Layer.OSM.Mapnik | |
* | |
* Parameters: | |
* name - {String} | |
* options - {Object} Hashtable of extra options to tag onto the layer | |
*/ | |
initialize: function(name, options) { | |
var url = [ | |
"http://nearmap:findreality@web0.nearmap.com/maps/hl=en&nml=Vert&x=${x}&y=${y}&z=${z}", | |
"http://nearmap:findreality@web1.nearmap.com/maps/hl=en&nml=Vert&x=${x}&y=${y}&z=${z}", | |
"http://nearmap:findreality@web2.nearmap.com/maps/hl=en&nml=Vert&x=${x}&y=${y}&z=${z}", | |
"http://nearmap:findreality@web3.nearmap.com/maps/hl=en&nml=Vert&x=${x}&y=${y}&z=${z}" | |
]; | |
options = OpenLayers.Util.extend({ numZoomLevels: 22 }, options); | |
var newArguments = [name, url, options]; | |
OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments); | |
}, | |
CLASS_NAME: "OpenLayers.Layer.OSM.NearMap" | |
}); | |
/** | |
* Class: OpenLayers.Layer.OSM.Osmarender | |
* | |
* Inherits from: | |
* - <OpenLayers.Layer.OSM> | |
*/ | |
OpenLayers.Layer.OSM.Osmarender = OpenLayers.Class(OpenLayers.Layer.OSM, { | |
/** | |
* Constructor: OpenLayers.Layer.OSM.Osmarender | |
* | |
* Parameters: | |
* name - {String} | |
* options - {Object} Hashtable of extra options to tag onto the layer | |
*/ | |
initialize: function(name, options) { | |
var url = [ | |
"http://a.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png", | |
"http://b.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png", | |
"http://c.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png" | |
]; | |
options = OpenLayers.Util.extend({ numZoomLevels: 18 }, options); | |
var newArguments = [name, url, options]; | |
OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments); | |
}, | |
CLASS_NAME: "OpenLayers.Layer.OSM.Osmarender" | |
}); | |
/** | |
* Class: OpenLayers.Layer.OSM.CycleMap | |
* | |
* Inherits from: | |
* - <OpenLayers.Layer.OSM> | |
*/ | |
OpenLayers.Layer.OSM.CycleMap = OpenLayers.Class(OpenLayers.Layer.OSM, { | |
/** | |
* Constructor: OpenLayers.Layer.OSM.CycleMap | |
* | |
* Parameters: | |
* name - {String} | |
* options - {Object} Hashtable of extra options to tag onto the layer | |
*/ | |
initialize: function(name, options) { | |
var url = [ | |
"http://a.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png", | |
"http://b.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png", | |
"http://c.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png" | |
]; | |
options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options); | |
var newArguments = [name, url, options]; | |
OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments); | |
}, | |
CLASS_NAME: "OpenLayers.Layer.OSM.CycleMap" | |
}); | |
/** | |
* Class: OpenLayers.Layer.OSM.Maplint | |
* | |
* Inherits from: | |
* - <OpenLayers.Layer.OSM> | |
*/ | |
OpenLayers.Layer.OSM.Maplint = OpenLayers.Class(OpenLayers.Layer.OSM, { | |
/** | |
* Constructor: OpenLayers.Layer.OSM.Maplint | |
* | |
* Parameters: | |
* name - {String} | |
* options - {Object} Hashtable of extra options to tag onto the layer | |
*/ | |
initialize: function(name, options) { | |
var url = [ | |
"http://d.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png", | |
"http://e.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png", | |
"http://f.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png" | |
]; | |
options = OpenLayers.Util.extend({ numZoomLevels: 18, isBaseLayer: false, visibility: false }, options); | |
var newArguments = [name, url, options]; | |
OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments); | |
}, | |
CLASS_NAME: "OpenLayers.Layer.OSM.Maplint" | |
}); | |
<?php | |
header('Content-Type: application/vnd.google-earth.kml+xml'); | |
echo '<?xml version="1.0" encoding="UTF-8"?> | |
<kml xmlns="http://www.opengis.net/kml/2.2"><Document>'; | |
echo ' | |
<Style id="yellowLineGreenPoly"> | |
<LineStyle> | |
<color>7f00ff00</color> | |
<width>4</width> | |
</LineStyle> | |
<PolyStyle> | |
<color>7f00ffff</color> | |
</PolyStyle> | |
</Style>'; | |
$conn = pg_connect("dbname=openstreetmap user=postgres password=snmc"); | |
if (!$conn) { | |
echo "An error occured.\n"; | |
exit; | |
} | |
$result_route = pg_query($conn, "SELECT * from current_relation_tags, (Select id FROM current_relation_tags WHERE k = 'route' AND v = 'bus') as a | |
where a.id = current_relation_tags.id and k = 'ref';"); | |
if (!$result_route) { | |
echo "An route retirieve error occured.\n"; | |
exit; | |
} | |
while ($route = pg_fetch_assoc($result_route)) { | |
echo "\n<Placemark>\n"; | |
echo "<name>".$route['v']." position at ".$route['id']."</name>"; | |
echo "<description>".$route['v']." position at ".$route['id']."</description>"; | |
echo "<styleUrl>#yellowLineGreenPoly</styleUrl>"; | |
echo " <LineString> | |
<extrude>1</extrude> | |
<coordinates> "; | |
$result_way = pg_query($conn, 'SELECT member_id, sequence_id FROM "current_relation_members" WHERE "id" = '.$route['id'].' order by "sequence_id" | |
ASC'); | |
if (!$result_way) { | |
echo "An way retirieve error occured.\n"; | |
exit; | |
} | |
$count = 0; | |
while ($way = pg_fetch_assoc($result_way)) { | |
$result_node = pg_query($conn, 'SELECT * FROM current_nodes INNER JOIN current_way_nodes ON current_way_nodes.node_id=current_nodes.id WHERE | |
current_way_nodes.id = '.$way['member_id'].' order by "sequence_id" ASC'); | |
if (!$result_node) { | |
echo "An node retirieve error occured.\n"; | |
exit; | |
} | |
while ($node = pg_fetch_assoc($result_node)) { | |
$count++; | |
echo ($node['longitude']/10000000).",".($node['latitude']/10000000).",600 \n"; | |
} | |
} | |
if ($count == 0) echo (0).",".(0).",600 \n"; | |
echo " </coordinates> | |
</LineString>"; | |
echo '</Placemark>'; | |
} | |
echo "\n</Document></kml>\n"; | |
?> | |
<html xmlns="http://www.w3.org/1999/xhtml"> | <html xmlns="http://www.w3.org/1999/xhtml"> |
<head> | <head> |
<script type="text/javascript" src="http://loki.com/plugin/files/loki.js"></script> | |
<script src="openlayers/OpenLayers.js"></script> | <script src="openlayers/OpenLayers.js"></script> |
<SCRIPT TYPE="text/javascript" SRC="OpenStreetMap.js"></SCRIPT> | |
<script type="text/javascript"> | <script type="text/javascript"> |
var map, layer; | |
function aaa(a) { | |
var lonLat = new OpenLayers.LonLat(a.coords.longitude, a.coords.latitude).transform(new OpenLayers.Projection("EPSG:4326"),map.getProjectionObject()); | |
map.setCenter (lonLat, 13); | |
} | function init() |
function handleError(a) { | { |
alert("error in geoloc"); | var extent = new OpenLayers.Bounds(148.98, -35.48, 149.25, -35.15); |
} | |
function init(){ | // set up the map options |
var extent = new OpenLayers.Bounds(148.98,-35.48, 149.25,-35.15); | var options = |
map = new OpenLayers.Map( 'map'); | { |
layer = new OpenLayers.Layer.OSM("local", "http://10.0.1.153/tiles/${z}/${x}/${y}.png"); | maxExtent: extent, |
map.addLayer(layer); | numZoomLevels: 20, |
var lonLat = new OpenLayers.LonLat(149.11, -35.28).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()); | }; |
map.setCenter (lonLat, 13); | |
map.addControl(new OpenLayers.Control.MousePosition({ displayProjection: new OpenLayers.Projection("EPSG:4326"), | // create the ol map object |
suffix: "__________________________________" })); | var map = new OpenLayers.Map('map', options); |
map.addControl(new OpenLayers.Control.MousePosition({ displayProjection: new OpenLayers.Projection("EPSG:900913")})); | |
if (navigator.geolocation) { | var osmtiles = new OpenLayers.Layer.OSM("local", "http://10.0.1.153/tiles/${z}/${x}/${y}.png"); |
navigator.geolocation.getCurrentPosition(this.aaa, this.handleError); | // use http://open.atlas.free.fr/GMapsTransparenciesImgOver.php and http://code.google.com/p/googletilecutter/ to make tiles |
} else { | var graphic = new OpenLayers.Layer.Image( |
var loki = LokiAPI(); | 'Weekday Bus Map', |
loki.onSuccess = function(location) { | 'weekday_bus_map.png', |
var lonLat = new OpenLayers.LonLat(location.longitude, location.latitude).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()); | new OpenLayers.Bounds(149.0, -35.47, 149.16, -35.16), |
map.setCenter (lonLat, 13); | new OpenLayers.Size(1191, 2268), |
{baseLayer: false} | |
); | |
var nearmap = new OpenLayers.Layer.OSM.NearMap("NearMap"); | |
var routes = new OpenLayers.Layer.GML("Routes", "displayroutes.kml.php", { | |
format: OpenLayers.Format.KML, | |
formatOptions: { | |
extractStyles: true, | |
extractAttributes: true, | |
maxDepth: 2 | |
} | |
}); | |
var stopicon = new OpenLayers.Icon("http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png",new OpenLayers.Size(32,32)); | |
var stops = new OpenLayers.Layer.GeoRSS("Stops", "displaystops.georss.php", { icon: stopicon }); | |
var timeicon = new OpenLayers.Icon("http://maps.google.com/mapfiles/kml/pushpin/grn-pushpin.png",new OpenLayers.Size(32,32)); | |
var timepoints = new OpenLayers.Layer.GeoRSS("Timing Points", "displaytimepoints.georss.php", { icon: timeicon }); | |
map.addLayers([osmtiles,stops,routes,timepoints,nearmap]); | |
var lonLat = new OpenLayers.LonLat(149.11, -35.28).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()); | |
map.setCenter(lonLat, 13); | |
map.addControl( new OpenLayers.Control.LayerSwitcher({'ascending':false})); | |
map.addControl(new OpenLayers.Control.MousePosition( | |
{ | |
displayProjection: new OpenLayers.Projection("EPSG:4326"), | |
suffix: "__________________________________" | |
})); | |
map.addControl(new OpenLayers.Control.MousePosition( | |
{ | |
displayProjection: new OpenLayers.Projection("EPSG:900913") | |
})); | |
} | } |
loki.onFailure = function(error) { | |
loki.requestIPLocation(true,loki.NO_STREET_ADDRESS_LOOKUP) | |
} | |
loki.setKey('maxious.lambdacomplex.org'); | |
loki.requestLocation(true,loki.NO_STREET_ADDRESS_LOOKUP); | |
} | |
map.addLayer(new OpenLayers.Layer.GML("KML", "display.kml.php", | |
{ | |
format: OpenLayers.Format.KML, | |
formatOptions: { | |
extractStyles: true, | |
extractAttributes: true, | |
maxDepth: 2 | |
} | |
})); | |
} | |
</script> | </script> |
</head> | </head> |
<body onload="init()"> | <body onload="init()"> |
<div id="map" width="100%" height="100%" class="smallmap"></div> | <div id="map" width="100%" height="100%" class="smallmap"></div> |
</body> | </body> |
</html> | </html> |
<?php | |
header('Content-Type: application/vnd.google-earth.kml+xml'); | |
echo '<?xml version="1.0" encoding="UTF-8"?> | |
<kml xmlns="http://www.opengis.net/kml/2.2"><Document>'; | |
echo ' | |
<Style id="yellowLineGreenPoly"> | |
<LineStyle> | |
<color>7f00ff00</color> | |
<width>4</width> | |
</LineStyle> | |
<PolyStyle> | |
<color>7f00ffff</color> | |
</PolyStyle> | |
</Style>'; | |
$conn = pg_connect("dbname=openstreetmap user=postgres password=snmc"); | |
if (!$conn) { | |
echo "An error occured.\n"; | |
exit; | |
} | |
$result_route = pg_query($conn, "SELECT * from current_relation_tags, (Select id FROM current_relation_tags WHERE k = 'route' AND v = 'bus') as a | |
where a.id = current_relation_tags.id and k = 'ref';"); | |
if (!$result_route) { | |
echo "An route retirieve error occured.\n"; | |
exit; | |
} | |
while ($route = pg_fetch_assoc($result_route)) { | |
echo "\n<Placemark>\n"; | |
echo "<name>".$route['v']." position at ".$route['id']."</name>"; | |
echo "<description>".$route['v']." position at ".$route['id']."</description>"; | |
echo "<styleUrl>#yellowLineGreenPoly</styleUrl>"; | |
echo " <LineString> | |
<extrude>1</extrude> | |
<coordinates> "; | |
$result_way = pg_query($conn, 'SELECT member_id, sequence_id FROM "current_relation_members" WHERE "id" = '.$route['id'].' order by "sequence_id" | |
ASC'); | |
if (!$result_way) { | |
echo "An way retirieve error occured.\n"; | |