Net-GPSD
view release on metacpan or search on metacpan
doc/display_device.cgi view on Meta::CPAN
<tr>
<td>Heading</td><td><div id="track_heading"></div></td>
</tr>
<tr>
<td>Lat Average</td><td><div id="track_latavg"></div></td>
</tr>
<tr>
<td>Lon Average</td><td><div id="track_lonavg"></div></td>
</tr>
<tr>
<td>Lat Min</td><td><div id="track_latmin"></div></td>
</tr>
<tr>
<td>Lon Min</td><td><div id="track_lonmin"></div></td>
</tr>
<tr>
<td>Lat Max</td><td><div id="track_latmax"></div></td>
</tr>
<tr>
<td>Lon Max</td><td><div id="track_lonmax"></div></td>
</tr>
</table>
<table>
<tr>
<td colspan="2">Current Map Properties</td>
</tr>
<tr>
<td>Lat</td><td><div id="lat"></div></td>
</tr>
<tr>
<td>Lon</td><td><div id="lon"></div></td>
</tr>
<tr>
<td>maxX</td><td><div id="maxX"></div></td>
</tr>
<tr>
<td>maxY</td><td><div id="maxY"></div></td>
</tr>
<tr>
<td>minX</td><td><div id="minX"></div></td>
</tr>
<tr>
<td>minY</td><td><div id="minY"></div></td>
</tr>
</table>
</td>
</tr>
</table>
<script type="text/javascript">
//<![CDATA[
var map = new GMap(document.getElementById("map"));
GEvent.addListener(map, 'move',
function() {
var center = map.getCenterLatLng();
document.getElementById("lat").innerHTML = center.y;
document.getElementById("lon").innerHTML = center.x;
}
);
GEvent.addListener(map, 'moveend',
function(overlay) {
var bounds = map.getBoundsLatLng();
var center = map.getCenterLatLng();
document.getElementById("maxX").innerHTML = bounds.maxX;
document.getElementById("maxY").innerHTML = bounds.maxY;
document.getElementById("minX").innerHTML = bounds.minX;
document.getElementById("minY").innerHTML = bounds.minY;
}
);
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.centerAndZoom(new GPoint($lon, $lat), 2);
function createMarker(point, icon, html) {
var marker = new GMarker(point, icon);
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
var icon0 = new GIcon();
icon0.image = "http://www.google.com/mapfiles/marker.png";
icon0.shadow = "http://www.google.com/mapfiles/shadow50.png";
icon0.iconSize = new GSize(20, 34);
icon0.shadowSize = new GSize(37, 34);
icon0.iconAnchor = new GPoint(9, 34);
icon0.infoWindowAnchor = new GPoint(9, 2);
var icon1 = new GIcon();
icon1.image = "http://maps.davisnetworks.com/google/icons/blue-dot-5.png";
icon1.iconSize = new GSize(5, 5);
icon1.iconAnchor = new GPoint(3, 3);
icon1.infoWindowAnchor = new GPoint(3, 1);
var points = [];
var marker;
var point;
var html;
$layer
map.addOverlay(new GPolyline(points));
document.getElementById("track_lat").innerHTML = "$lat";
document.getElementById("track_lon").innerHTML = "$lon";
document.getElementById("track_device").innerHTML = "$device";
document.getElementById("track_dtg").innerHTML = "$dtg";
document.getElementById("track_speed").innerHTML = "$speed";
document.getElementById("track_heading").innerHTML = "$heading";
document.getElementById("track_latavg").innerHTML = "$latavg";
document.getElementById("track_lonavg").innerHTML = "$lonavg";
document.getElementById("track_latmin").innerHTML = "$latmin";
document.getElementById("track_lonmin").innerHTML = "$lonmin";
document.getElementById("track_latmax").innerHTML = "$latmax";
document.getElementById("track_lonmax").innerHTML = "$lonmax";
//]]>
</script>},
$query->p({-align=>"center"}, "Track history for device $device"),
$query->p({-align=>"center"}, "(Last $trackcount records of", $devicecount{$device}, "reports)"),
$query->table({-border=>1, -width=>"100%"},
( run in 1.342 second using v1.01-cache-2.11-cpan-39bf76dae61 )