Traffic layer
by mehmet ozkan
HTML
<script src="http://openlayers.org/api/2.13.1/OpenLayers.js"></script>
<link rel="stylesheet" href="http://openlayers.org/api/2.13/theme/default/style.css">
<script src="http://maps.google.com/maps/api/js?v=3.2&sensor=false"></script>
<script src="http://213.14.91.190/isvts/resources/js/map/proj4js.js"></script>
<div id="map"></div>
CSS
html, body {
height: 100%;
margin: 0;
overflow: hidden;
padding: 0;
}
img {
max-width: none;
}
#map {
width : 100%;
height : 100%;
}
JavaScript
var centerLat = 41.01165;
var centerLon = 29.07201;
var oldprojection = new OpenLayers.Projection("EPSG:4326");
var currprojection = new OpenLayers.Projection("EPSG:4326");
var geographic = new OpenLayers.Projection("EPSG:4326");
var mercator = new OpenLayers.Projection("EPSG:900913");
Proj4js.defs["EPSG:900913"] = "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs";
Proj4js.defs["EPSG:28993"] = "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=1.0 +x_0=155000 +y_0=463000 +ellps=bessel +towgs84=565.,49.9,465.8,-0.409,0.36,-1.869,4.08 +units=m +no_defs";
var options = {
projection : new OpenLayers.Projection("EPSG:900913"),
displayProjection : new OpenLayers.Projection("EPSG:4326"),
maxExtent: [-20037508.342789248, -20037508.342789248, 20037508.342789248, 20037508.342789248],
numZoomLevels : 19,
units : "m",
transitionEffect : null,
zoomMethod : null,
maxResolution: 156543.0339,
maxExtent: new OpenLayers.Bounds(-20037508, -20037508, 20037508, 20037508.34),
controls : [new OpenLayers.Control.Attribution(), new OpenLayers.Control.KeyboardDefaults(), new OpenLayers.Control.MousePosition(), new OpenLayers.Control.Navigation({
zoomWheelEnabled : true,
dragPanOptions : {
enableKinetic : true
}
})]
};
function getPowZoom(zoom){
if(zoom - Math.ceil(zoom) < (0.05)){
return parseInt(1 << (zoom));
} else {
return parseFloat(Math.pow(2, zoom));
}
}
function getLatitudeFromTile(zoom, y){
return Math.atan(Math.sin(Math.PI *(1 - 2 * y /getPowZoom(zoom)))) * 180 / Math.PI;
}
var map = new OpenLayers.Map('map',options);
var lonlat = new OpenLayers.LonLat(32.27,50.14).transform(
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator
);
//map.addControl(new OpenLayers.Control.LayerSwitcher());
var gsat = new...