aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLeandro Silva Ferreira <leandrosilvaferreira@gmail.com>2012-08-15 11:04:16 -0400
committerLeandro Silva Ferreira <leandrosilvaferreira@gmail.com>2012-08-15 11:04:16 -0400
commit3a78e641bacccaca181bbd292f0f2f0d579b5caf (patch)
tree5655a02dbcbb160bdc8b15551109892acfefaa99 /src
parent704decd15f70a0251675041826c472b7326ae40c (diff)
downloadtrackermap-server-3a78e641bacccaca181bbd292f0f2f0d579b5caf.tar.gz
trackermap-server-3a78e641bacccaca181bbd292f0f2f0d579b5caf.tar.bz2
trackermap-server-3a78e641bacccaca181bbd292f0f2f0d579b5caf.zip
Changes to save de address field from geocoding and show it on markers
at the map and on position's grid
Diffstat (limited to 'src')
-rw-r--r--src/org/traccar/Server.java2
-rw-r--r--src/org/traccar/TrackerEventHandler.java3
-rw-r--r--src/org/traccar/http/WebServer.java5
-rw-r--r--src/org/traccar/model/DatabaseDataManager.java1
-rw-r--r--src/web/index.html52
5 files changed, 36 insertions, 27 deletions
diff --git a/src/org/traccar/Server.java b/src/org/traccar/Server.java
index 32a2888cc..15514bffc 100644
--- a/src/org/traccar/Server.java
+++ b/src/org/traccar/Server.java
@@ -193,7 +193,7 @@ public class Server {
}
private void initGeocoder(Properties properties) throws IOException {
- if (Boolean.parseBoolean("geocoder.enable")) {
+ if (Boolean.parseBoolean(properties.getProperty("geocoder.enable"))) {
geocoder = new GoogleReverseGeocoder();
}
}
diff --git a/src/org/traccar/TrackerEventHandler.java b/src/org/traccar/TrackerEventHandler.java
index 2a66a084f..07ecf71de 100644
--- a/src/org/traccar/TrackerEventHandler.java
+++ b/src/org/traccar/TrackerEventHandler.java
@@ -57,7 +57,8 @@ public class TrackerEventHandler extends SimpleChannelHandler {
", speed: " + position.getSpeed() +
", course: " + position.getCourse() +
", power: " + position.getPower() +
- ", mode: " + position.getMode());
+ ", mode: " + position.getMode() +
+ ", address: " + position.getAddress());
}
// Write position to database
diff --git a/src/org/traccar/http/WebServer.java b/src/org/traccar/http/WebServer.java
index e379a0a9a..5fac8ff65 100644
--- a/src/org/traccar/http/WebServer.java
+++ b/src/org/traccar/http/WebServer.java
@@ -146,7 +146,7 @@ public class WebServer {
Iterator<Position> i = dataManager.getPositions(Long.valueOf(deviceId)).iterator();
while (i.hasNext()) {
Position position = i.next();
- out.format("{'device_id':%d,'time':'%s','valid':%b,'latitude':%s,'longitude':%s,'speed':%s,'course':%s,'mode':%d}",
+ out.format("{'device_id':%d,'time':'%s','valid':%b,'latitude':%s,'longitude':%s,'speed':%s,'course':%s,'mode':%d,'address':'%s'}",
position.getDeviceId(),
position.getTimeFormated(),
position.getValid(),
@@ -154,7 +154,8 @@ public class WebServer {
position.getLongitude().toString(),
position.getSpeed().toString(),
position.getCourse().toString(),
- position.getMode());
+ position.getMode(),
+ position.getAddress());
if (i.hasNext()) out.print(",");
}
}
diff --git a/src/org/traccar/model/DatabaseDataManager.java b/src/org/traccar/model/DatabaseDataManager.java
index 2207d272b..3092744c0 100644
--- a/src/org/traccar/model/DatabaseDataManager.java
+++ b/src/org/traccar/model/DatabaseDataManager.java
@@ -211,6 +211,7 @@ public class DatabaseDataManager implements DataManager {
position.setCourse(result.getDouble("course"));
position.setPower(result.getDouble("power"));
position.setMode(result.getInt("mode"));
+ position.setAddress(result.getString("address"));
positionList.add(position);
}
diff --git a/src/web/index.html b/src/web/index.html
index dcc4771db..6be205300 100644
--- a/src/web/index.html
+++ b/src/web/index.html
@@ -166,11 +166,12 @@ setCenter: {
},
// or just specify lat/long
+*/
setCenter: {
- lat: 42.345573,
- lng: -71.098326
-}
- * </code></pre>
+ lat: '-15.618767',
+ lng: '-56.083214'
+},
+ /* * </code></pre>listeners
*/
/**
* @cfg {Number} zoomLevel
@@ -178,7 +179,7 @@ setCenter: {
* Also used as the zoom level for panoramas, zero specifies no zoom at all.
* Defaults to <tt>3</tt>.
*/
- zoomLevel: 3,
+ zoomLevel: 10,
/**
* @cfg {Number} yaw
* The Yaw, or rotational direction of the users perspective in degrees. Only applies to panoramas.
@@ -291,7 +292,7 @@ markers: [{
Ext.defer(function(){
if (this.gmapType === 'map'){
- this.gmap = new google.maps.Map(this.getEl().dom, {zoom:this.zoomLevel,mapTypeId: google.maps.MapTypeId.ROADMAP});
+ this.gmap = new google.maps.Map(this.getEl().dom, {zoom:this.zoomLevel,mapTypeId: google.maps.MapTypeId.HYBRID});
this.mapDefined = true;
this.mapDefinedGMap = true;
}
@@ -302,7 +303,7 @@ markers: [{
}
if (!this.mapDefined && this.gmapType){
- this.gmap = new google.maps.Map(this.getEl().dom, {zoom:this.zoomLevel,mapTypeId: google.maps.MapTypeId.ROADMAP});
+ this.gmap = new google.maps.Map(this.getEl().dom, {zoom:this.zoomLevel,mapTypeId: google.maps.MapTypeId.HYBRID});
this.gmap.setMapTypeId(this.gmapType);
this.mapDefined = true;
this.mapDefinedGMap = true;
@@ -317,7 +318,7 @@ markers: [{
this.geoCodeLookup(this.setCenter.geoCodeAddr, this.setCenter.marker, false, true, this.setCenter.listeners);
}else{
if (this.gmapType === 'map'){
- var point = new google.maps.LatLng(this.setCenter.lat,this.setCenter.lng);
+ var point = new google.maps.LatLng(-15.618767,-56.083214);
this.getMap().setCenter(point, this.zoomLevel);
this.lastCenter = point;
}
@@ -473,9 +474,7 @@ markers: [{
this.lastCenter = point;
}
- var mark = new google.maps.Marker(Ext.apply(marker, {
- position: point
- }));
+ var mark = new google.maps.Marker(Ext.apply(marker, {position: point}));
if (marker.infoWindow){
this.createInfoWindow(marker.infoWindow, point, mark);
@@ -772,7 +771,8 @@ Ext.onReady(function() {
{name: 'speed', type: 'float'},
{name: 'course', type: 'float'},
{name: 'power', type: 'float'},
- {name: 'mode', type: 'int'}
+ {name: 'mode', type: 'int'},
+ {name: 'address', type: 'string'}
]
});
@@ -811,7 +811,8 @@ Ext.onReady(function() {
'speed',
'course',
'power',
- 'mode'
+ 'mode',
+ 'address'
],
proxy: {
type: 'ajax',
@@ -932,25 +933,30 @@ Ext.onReady(function() {
],
columns: [
{header: 'Id Dispositivo', dataIndex: 'device_id'},
- {header: 'Data/Hora',dataIndex: 'time',
+ {header: 'Data/Hora',
+ dataIndex: 'time',
flex: 1,
- renderer: Ext.util.Format.dateRenderer('d/m/Y H:i:s')
+ sortable: true,
+ renderer: Ext.util.Format.dateRenderer('d/m/Y H:i:s'),
+ width: 100
},
- {header: 'Válido', dataIndex: 'valid'},
- {header: 'Latitude', dataIndex: 'latitude'},
- {header: 'Longitude', dataIndex: 'longitude'},
- {header: 'Velocidade', dataIndex: 'speed'},
- {header: 'Curso', dataIndex: 'course'},
- {header: 'Voltagem', dataIndex: 'power'},
- {header: 'Modo', dataIndex: 'mode'}
+ {header: 'Endereço', dataIndex: 'address', width: 480},
+ {header: 'Latitude', dataIndex: 'latitude', width: 70},
+ {header: 'Longitude', dataIndex: 'longitude', width: 70},
+ {header: 'Velocidade', dataIndex: 'speed', width: 70},
+ {header: 'Curso', dataIndex: 'course', width: 70},
+ {header: 'Voltagem', dataIndex: 'power', width: 70},
+ {header: 'Modo', dataIndex: 'mode', width: 70},
+ {header: 'Válido', dataIndex: 'valid', width: 70}
],
listeners: {
selectionchange: function(sender, selected, eOpts) {
if (selected.length != 0) {
var lat = positionsPanel.getSelectionModel().getLastSelected().get('latitude');
var lng = positionsPanel.getSelectionModel().getLastSelected().get('longitude');
+ var title = positionsPanel.getSelectionModel().getLastSelected().get('address');
var point = new google.maps.LatLng(lat, lng);
- map.addMarker(point, {lat: lat, lng: lng}, true, true);
+ map.addMarker(point, {lat: lat, lng: lng, title: title}, true, true);
} else {
map.clearMarkers(); // private?
}