2015-07-17 19:49:08 +03:00
< link rel = " stylesheet " href = " openlayers/ol.css " />
< script src = " openlayers/ol.js " ></ script >
2016-02-21 11:44:11 +02:00
< style type = " text/css " >
#mymap{
height : 300 px ;
width : 300 px ;
overflow : hidden ;
}
</ style >
2015-07-17 19:49:08 +03:00
< ? php
2016-02-20 22:02:18 +02:00
function ShowMap ( $coordsRed , $coordsGreen ){
if ( count ( $coordsRed ) > 0 || count ( $coordsGreen ) > 0 ){
2016-02-20 04:45:25 +02:00
?>
2016-02-21 11:44:11 +02:00
< div id = " mymap " ></ div >
2016-02-20 04:45:25 +02:00
< script >
2016-02-20 22:02:18 +02:00
var pos = new ol . proj . fromLonLat ([ 25.1329 , 35.3342 ]);
var features = [];
< ? php
if ( count ( $coordsRed ) > 0 ){
echo " var coordinatesRed = [ " ;
for ( $i = 0 ; $i < count ( $coordsRed ) - 1 ; $i ++ ){
$loc = $coordsRed [ $i ];
echo '[' . $loc [ 1 ] . ',' . $loc [ 0 ] . '],' ;
}
echo '[' . $coordsRed [ $i ][ 1 ] . ',' . $coordsRed [ $i ][ 0 ] . ']];' ;
?>
var styleRed = new ol . style . Style ({
2016-02-20 13:50:34 +02:00
image : new ol . style . Circle ({
fill : new ol . style . Fill ({ color : '#FF0000' }),
stroke : new ol . style . Stroke ({ color : '#000000' }),
radius : 5
})
});
2016-02-20 22:02:18 +02:00
for ( var i = 0 ; i < coordinatesRed . length ; i ++ ){
var feat = new ol . Feature ({
geometry : new ol . geom . Point ( new ol . proj . fromLonLat ([ coordinatesRed [ i ][ 0 ], coordinatesRed [ i ][ 1 ]]))
});
feat . setStyle ( styleRed );
features . push ( feat );
}
< ? php
}
if ( count ( $coordsGreen ) > 0 ){
echo " var coordinatesGreen = [ " ;
for ( $i = 0 ; $i < count ( $coordsGreen ) - 1 ; $i ++ ){
$loc = $coordsGreen [ $i ];
2016-02-20 14:42:47 +02:00
echo '[' . $loc [ 1 ] . ',' . $loc [ 0 ] . '],' ;
}
2016-02-20 22:02:18 +02:00
echo '[' . $coordsGreen [ $i ][ 1 ] . ',' . $coordsGreen [ $i ][ 0 ] . ']];' ;
2016-02-20 14:42:47 +02:00
?>
2016-02-20 22:02:18 +02:00
var styleGreen = new ol . style . Style ({
image : new ol . style . Circle ({
fill : new ol . style . Fill ({ color : '#00FF00' }),
stroke : new ol . style . Stroke ({ color : '#000000' }),
radius : 5
})
});
for ( var i = 0 ; i < coordinatesGreen . length ; i ++ ){
2016-02-20 14:42:47 +02:00
var feat = new ol . Feature ({
2016-02-20 22:02:18 +02:00
geometry : new ol . geom . Point ( new ol . proj . fromLonLat ([ coordinatesGreen [ i ][ 0 ], coordinatesGreen [ i ][ 1 ]]))
2016-02-20 14:42:47 +02:00
});
2016-02-20 22:02:18 +02:00
feat . setStyle ( styleGreen );
2016-02-20 14:42:47 +02:00
features . push ( feat );
}
2016-02-20 22:02:18 +02:00
< ? php
}
?>
2016-02-20 14:42:47 +02:00
var vectorSource = new ol . source . Vector ({ features : features });
2016-02-20 13:50:34 +02:00
var vectorLayer = new ol . layer . Vector ({
source : vectorSource ,
2016-02-21 12:59:52 +02:00
opacity : 0.8
2016-02-20 13:50:34 +02:00
});
var map = new ol . Map ({
target : document . getElementById ( " mymap " ),
layers : [
new ol . layer . Tile ({
2016-02-21 13:43:04 +02:00
source : new ol . source . OSM ({
url : 'http://a.tile2.opencyclemap.org/transport/{z}/{x}/{y}.png' ,
attributions : [ new ol . Attribution ({
html : 'Maps © <a href="http://www.thunderforest.com">Thunderforest</a>, Data © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap contributors</a>'
})]
})
2016-02-20 13:50:34 +02:00
}),
vectorLayer
],
view : new ol . View ({
center : pos ,
zoom : 13
})
});
2016-02-20 04:45:25 +02:00
</ script >
< ? php
2016-02-20 19:26:19 +02:00
} else {
?>
2016-02-20 22:02:18 +02:00
< span style = " display:inline-block " class = " alert alert-danger " role = " alert " > No information to display on the map yet ( probably no bus is on its way ) . < a href = " javascript:history.back() " > Go back ? </ a ></ span >
2016-02-20 19:26:19 +02:00
< ? php
}
2015-07-17 19:49:08 +03:00
}
?>