vitalidze / traccar-web

Traccar Web UI mod
http://traccar.litvak.su/
151 stars 145 forks source link

Cant see device Location on any Map #802

Open shubhamalive opened 8 years ago

shubhamalive commented 8 years ago

Hello, I have installed Traccar UI and successfully added Google Maps API to show google maps, now i have also added 1 device to my server that is showing up on map. but, on hover on the device i get details Like: Odometer, Protocol, set, mcc, mnc, lac, cid, index, ip.

But the main thing i want to see is the Address, i can not see the longitude & latitude OR the address anywhere.

Here is my traccar.xml

<!-- SERVER CONFIG -->
<entry key='web.enable'>true</entry>
<entry key='web.port'>8082</entry>
<entry key='web.path'>C:\Program Files (x86)\Traccar\web</entry>
<entry key='web.type'>old</entry>
<entry key='web.application'>C:\Program Files (x86)\Traccar\traccar-web.war</entry>

<entry key='geocoder.enable'>true</entry>
<entry key='geocoder.type'>google</entry>

<entry key='geocoder.key'>XZAKLJLKHDOILKASIGBDJHSHKDHSJMSKJD</entry>

<entry key='logger.enable'>true</entry>
<entry key='logger.level'>all</entry>
<entry key='logger.file'>C:\Program Files (x86)\Traccar\logs\tracker-server.log</entry>

<entry key='event.enable'>false</entry>
<entry key='event.suppressRepeated'>60</entry>
<entry key='event.overspeedHandler'>false</entry>
<entry key='event.globalSpeedLimit'>90</entry>
<entry key='event.motionHandler'>false</entry>
<entry key='event.geofenceHandler'>false</entry>

<!-- DATABASE CONFIG -->

<entry key='database.driver'>org.h2.Driver</entry>
<entry key='database.url'>jdbc:h2:C:\Program Files (x86)\Traccar\data\database</entry>
<entry key='database.user'>sa</entry>
<entry key='database.password'></entry>

<!-- <entry key='database.changelog'>C:\Program Files (x86)\Traccar\schema\changelog-master.xml</entry> -->

<entry key='database.selectServers'>
    SELECT * FROM server;
</entry>

<entry key='database.updateServer'>
    UPDATE server SET
    registration = :registration,
    readonly = :readonly,
    map = :map,
    bingKey = :bingKey,
    mapUrl = :mapUrl,
    distanceUnit = :distanceUnit,
    speedUnit = :speedUnit,
    latitude = :latitude,
    longitude = :longitude,
    zoom = :zoom,
    twelveHourFormat = :twelveHourFormat
    WHERE id = :id;
</entry>

<entry key='database.loginUser'>
    SELECT * FROM users
    WHERE email = :email;
</entry>

<entry key='database.selectUser'>
    SELECT * FROM users
    WHERE id = :id;
</entry>

<entry key='database.selectUsersAll'>
SELECT id, login AS name, email, readOnly AS readonly, admin FROM users;
</entry>

<entry key='database.insertUser'>
    INSERT INTO users (name, email, hashedPassword, salt, admin, map, distanceUnit, speedUnit, latitude, longitude, zoom, twelveHourFormat)
    VALUES (:name, :email, :hashedPassword, :salt, :admin, :map, :distanceUnit, :speedUnit, :latitude, :longitude, :zoom, :twelveHourFormat);
</entry>

<entry key='database.updateUser'>
    UPDATE users SET
    name = :name,
    email = :email,
    admin = :admin,
    map = :map,
    distanceUnit = :distanceUnit,
    speedUnit = :speedUnit,
    latitude = :latitude,
    longitude = :longitude,
    zoom = :zoom,
    twelveHourFormat = :twelveHourFormat
    WHERE id = :id;
</entry>

<entry key='database.updateUserPassword'>
    UPDATE users SET hashedPassword = :hashedPassword, salt = :salt WHERE id = :id;
</entry>

<entry key='database.deleteUser'>
    DELETE FROM users WHERE id = :id;
</entry>

<entry key='database.selectDevicePermissions'>
SELECT u.id AS userId, d.id AS deviceId FROM users u, devices d WHERE u.admin=1
UNION
SELECT ud.users_id AS userId, ud.devices_id AS deviceId FROM users_devices ud
INNER JOIN users u ON ud.users_id=u.id
WHERE u.admin=0 AND u.readOnly=0
</entry>

<entry key='database.selectGroupPermissions'>
    SELECT userId, groupId FROM user_group;
</entry>

<entry key='database.selectDevicesAll'>
    SELECT * FROM devices;
</entry>

<entry key='database.insertDevice'>
    INSERT INTO devices (name, uniqueId, groupId) VALUES (:name, :uniqueId, :groupId);
</entry>

<entry key='database.updateDevice'>
    UPDATE devices SET name = :name, uniqueId = :uniqueId, groupId = :groupId WHERE id = :id;
</entry>

<entry key='database.updateDeviceStatus'>
UPDATE devices SET status = :status, lastUpdate = :lastUpdate WHERE id = :id;
</entry>

<entry key='database.deleteDevice'>
    DELETE FROM devices WHERE id = :id;
</entry>

<!-- <entry key='database.linkDevice'>
    INSERT INTO user_device (userId, deviceId) VALUES (:userId, :deviceId);
</entry> -->

<entry key='database.unlinkDevice'>
    DELETE FROM user_device WHERE userId = :userId AND deviceId = :deviceId;
</entry>

<entry key='database.selectGroupsAll'>
    SELECT * FROM groups;
</entry>

<entry key='database.insertGroup'>
    INSERT INTO groups (name) VALUES (:name);
</entry>

<entry key='database.updateGroup'>
    UPDATE groups SET name = :name, groupId = :groupId WHERE id = :id;
</entry>

<entry key='database.deleteGroup'>
    DELETE FROM groups WHERE id = :id;
</entry>

<entry key='database.linkGroup'>
    INSERT INTO user_group (userId, groupId) VALUES (:userId, :groupId);
</entry>

<entry key='database.unlinkGroup'>
    DELETE FROM user_group WHERE userId = :userId AND groupId = :groupId;
</entry>

<entry key='database.selectPositions'>
    SELECT * FROM positions WHERE deviceId = :deviceId AND fixTime BETWEEN :from AND :to ORDER BY fixTime;
</entry>

<entry key='database.insertPosition'>
INSERT INTO positions (device_id, protocol, serverTime, time, valid, latitude, longitude, altitude, speed, course, address, other)
VALUES (:deviceId, :protocol, :now, :deviceTime, :valid, :latitude, :longitude, :altitude, :speed, :course, :address, :attributes);
</entry>

<entry key='database.selectLatestPositions'>
SELECT id, protocol, device_id AS deviceId, serverTime, time AS deviceTime, time AS fixTime,
valid, latitude, longitude, altitude, speed, course, address, other AS attributes
FROM positions WHERE id IN (SELECT latestPosition_id FROM devices);
</entry>

<entry key='database.updateLatestPosition'>
UPDATE devices SET latestPosition_id = :id WHERE id = :deviceId;
</entry>

<entry key='database.selectEvent'>
    SELECT * FROM events WHERE id = :id;
</entry>

<entry key='database.insertEvent'>
    INSERT INTO events (type, serverTime, deviceId, positionId, geofenceId, attributes)
    VALUES (:type, :serverTime, :deviceId, :positionId, :geofenceId, :attributes);
</entry>

<entry key='database.selectEvents'>
    SELECT * FROM events WHERE deviceId = :deviceId AND type LIKE :type AND serverTime BETWEEN :from AND :to ORDER BY serverTime DESC;
</entry>

<entry key='database.selectGeofence'>
    SELECT * FROM geofences
    WHERE id = :id;
</entry>

<entry key='database.selectGeofencesAll'>
    SELECT * FROM geofences;
</entry>

<entry key='database.insertGeofence'>
    INSERT INTO geofences (name, description, area, attributes)
    VALUES (:name, :description, :area, :attributes);
</entry>

<entry key='database.updateGeofence'>
    UPDATE geofences SET
    name = :name,
    description = :description,
    area = :area,
    attributes = :attributes
    WHERE id = :id;
</entry>

<entry key='database.deleteGeofence'>
    DELETE FROM geofences WHERE id = :id;
</entry>

<entry key='database.selectGeofencePermissions'>
    SELECT userId, geofenceId FROM user_geofence;
</entry>

<entry key='database.linkGeofence'>
    INSERT INTO user_geofence (userId, geofenceId) VALUES (:userId, :geofenceId);
</entry>

<entry key='database.unlinkGeofence'>
    DELETE FROM user_geofence WHERE userId = :userId AND geofenceId = :geofenceId;
</entry>

<entry key='database.selectGroupGeofences'>
    SELECT groupId, geofenceId FROM group_geofence;
</entry>

<entry key='database.linkGroupGeofence'>
    INSERT INTO group_geofence (groupId, geofenceId) VALUES (:groupId, :geofenceId);
</entry>

<entry key='database.unlinkGroupGeofence'>
    DELETE FROM group_geofence WHERE groupId = :groupId AND geofenceId = :geofenceId;
</entry>

<entry key='database.selectDeviceGeofences'>
    SELECT deviceId, geofenceId FROM device_geofence;
</entry>

<entry key='database.linkDeviceGeofence'>
    INSERT INTO device_geofence (deviceId, geofenceId) VALUES (:deviceId, :geofenceId);
</entry>

<entry key='database.unlinkDeviceGeofence'>
    DELETE FROM device_geofence WHERE deviceId = :deviceId AND geofenceId = :geofenceId;
</entry>

<entry key='database.selectNotifications'>
    SELECT * FROM notifications;
</entry>

<entry key='database.insertNotification'>
    INSERT INTO notifications (userId, type, attributes)
    VALUES (:userId, :type, :attributes);
</entry>

<entry key='database.updateNotification'>
    UPDATE notifications SET
    userId = :userId,
    type = :type,
    attributes = :attributes
    WHERE id = :id;
</entry>

<entry key='database.deleteNotification'>
    DELETE FROM notifications WHERE id = :id;
</entry>

<!-- PROTOCOL CONFIG -->

<entry key='gps103.port'>5001</entry>
<entry key='tk103.port'>5002</entry>
<entry key='gl100.port'>5003</entry>
<entry key='gl200.port'>5004</entry>
<entry key='t55.port'>5005</entry>
<entry key='xexun.port'>5006</entry>
<entry key='xexun.extended'>false</entry>
<entry key='totem.port'>5007</entry>
<entry key='enfora.port'>5008</entry>
<entry key='meiligao.port'>5009</entry>
<entry key='trv.port'>5010</entry>
<entry key='suntech.port'>5011</entry>
<entry key='progress.port'>5012</entry>
<entry key='h02.port'>5013</entry>
<entry key='jt600.port'>5014</entry>
<entry key='huabao.port'>5015</entry>
<entry key='v680.port'>5016</entry>
<entry key='pt502.port'>5017</entry>
<entry key='tr20.port'>5018</entry>
<entry key='navis.port'>5019</entry>
<entry key='meitrack.port'>5020</entry>
<entry key='skypatrol.port'>5021</entry>
<entry key='gt02.port'>5022</entry>
<entry key='gt06.port'>5023</entry>
<entry key='megastek.port'>5024</entry>
<entry key='navigil.port'>5025</entry>
<entry key='gpsgate.port'>5026</entry>
<entry key='teltonika.port'>5027</entry>
<entry key='mta6.port'>5028</entry>
<entry key='tzone.port'>5029</entry>
<entry key='tlt2h.port'>5030</entry>
<entry key='taip.port'>5031</entry>
<entry key='wondex.port'>5032</entry>
<entry key='cellocator.port'>5033</entry>
<entry key='galileo.port'>5034</entry>
<entry key='ywt.port'>5035</entry>
<entry key='tk102.port'>5036</entry>
<entry key='intellitrac.port'>5037</entry>
<entry key='gpsmta.port'>5038</entry>
<entry key='wialon.port'>5039</entry>
<entry key='carscop.port'>5040</entry>
<entry key='apel.port'>5041</entry>
<entry key='manpower.port'>5042</entry>
<entry key='globalsat.port'>5043</entry>
<entry key='atrack.port'>5044</entry>
<entry key='pt3000.port'>5045</entry>
<entry key='ruptela.port'>5046</entry>
<entry key='topflytech.port'>5047</entry>
<entry key='laipac.port'>5048</entry>
<entry key='aplicom.port'>5049</entry>
<entry key='gotop.port'>5050</entry>
<entry key='sanav.port'>5051</entry>
<entry key='gator.port'>5052</entry>
<entry key='noran.port'>5053</entry>
<entry key='m2m.port'>5054</entry>
<entry key='osmand.port'>5055</entry>
<entry key='easytrack.port'>5056</entry>
<entry key='gpsmarker.port'>5057</entry>
<entry key='khd.port'>5058</entry>
<entry key='piligrim.port'>5059</entry>
<entry key='stl060.port'>5060</entry>
<entry key='cartrack.port'>5061</entry>
<entry key='minifinder.port'>5062</entry>
<entry key='haicom.port'>5063</entry>
<entry key='eelink.port'>5064</entry>
<entry key='box.port'>5065</entry>
<entry key='freedom.port'>5066</entry>
<entry key='telic.port'>5067</entry>
<entry key='trackbox.port'>5068</entry>
<entry key='visiontek.port'>5069</entry>
<entry key='orion.port'>5070</entry>
<entry key='riti.port'>5071</entry>
<entry key='ulbotech.port'>5072</entry>
<entry key='tramigo.port'>5073</entry>
<entry key='tr900.port'>5074</entry>
<entry key='ardi01.port'>5075</entry>
<entry key='xt013.port'>5076</entry>
<entry key='autofon.port'>5077</entry>
<entry key='gosafe.port'>5078</entry>
<entry key='tt8850.port'>5079</entry>
<entry key='bce.port'>5080</entry>
<entry key='xirgo.port'>5081</entry>
<entry key='calamp.port'>5082</entry>
<entry key='mtx.port'>5083</entry>
<entry key='tytan.port'>5084</entry>
<entry key='avl301.port'>5085</entry>
<entry key='castel.port'>5086</entry>
<entry key='mxt.port'>5087</entry>
<entry key='cityeasy.port'>5088</entry>
<entry key='aquila.port'>5089</entry>
<entry key='flextrack.port'>5090</entry>
<entry key='blackkite.port'>5091</entry>
<entry key='adm.port'>5092</entry>
<entry key='watch.port'>5093</entry>
<entry key='t800x.port'>5094</entry>
<entry key='upro.port'>5095</entry>
<entry key='auro.port'>5096</entry>
<entry key='disha.port'>5097</entry>
<entry key='thinkrace.port'>5098</entry>
<entry key='pathaway.port'>5099</entry>
<entry key='arnavi.port'>5100</entry>
<entry key='nvs.port'>5101</entry>
<entry key='kenji.port'>5102</entry>
<entry key='astra.port'>5103</entry>
<entry key='homtecs.port'>5104</entry>
<entry key='fox.port'>5105</entry>
<entry key='gnx.port'>5106</entry>
<entry key='arknav.port'>5107</entry>
<entry key='supermate.port'>5108</entry>
<entry key='appello.port'>5109</entry>
<entry key='idpl.port'>5110</entry>
<entry key='huasheng.port'>5111</entry>
<entry key='l100.port'>5112</entry>
<entry key='granit.port'>5113</entry>

`` This is the SS of details i get:- screenshot_6

And this is what something i want to see:- 2864166ce7f946769a6c3364ac7c1e58

Can i get what i am looking for ?

vitalidze commented 8 years ago

Address is stored in the database, so if you don't see it then it is not present in your database. Most probably the reverse geocoder does not work in your case. Maybe you have reached daily limit on requests or something like this. The longitude and latitude are present in archive table. I find this information excessive for the live view, so you are right, it's not present in the UI.

vitalidze commented 8 years ago

BTW, I suggest you to remove your google key from this thread because it is a public issue tracker and anyone can see it.

tectonny commented 8 years ago

Sorry meddling ...

But the reference to API for Google does not have the documentation.

If you use Google, you need to remove: <entry key='geocoder.key'>XZAKLJLKHDOILKASIGBDJHSHKDHSJMSKJD</entry>

shubhamalive commented 8 years ago

@vitalidze @tectonny figured it out, just needed to remove "XZAKLJLKHDOILKASIGBDJHSHKDHSJMSKJD" from <entry key='geocoder.key'>XZAKLJLKHDOILKASIGBDJHSHKDHSJMSKJD</entry> and it worked. Thanks for your Help Mate. you can Close this thread.

david-cloudegic commented 8 years ago

Traccar wont start after updating Mod UI,

This is my traccar server.xml

true 80 C:\Program Files (x86)\Traccar\web old C:\Program Files (x86)\Traccar\traccar-web.war true google

<entry key='geocoder.key'

true all C:\Program Files (x86)\Traccar\logs\tracker-server.log false 60 false 90 false false org.h2.Driver jdbc:h2:C:\Program Files (x86)\Traccar\data\database sa SELECT \* FROM server; UPDATE server SET registration = :registration, readonly = :readonly, map = :map, bingKey = :bingKey, mapUrl = :mapUrl, distanceUnit = :distanceUnit, speedUnit = :speedUnit, latitude = :latitude, longitude = :longitude, zoom = :zoom, twelveHourFormat = :twelveHourFormat WHERE id = :id; SELECT \* FROM users WHERE email = :email; SELECT \* FROM users WHERE id = :id; SELECT id, login AS name, email, readOnly AS readonly, admin FROM users; INSERT INTO users (name, email, hashedPassword, salt, admin, map, distanceUnit, speedUnit, latitude, longitude, zoom, twelveHourFormat) VALUES (:name, :email, :hashedPassword, :salt, :admin, :map, :distanceUnit, :speedUnit, :latitude, :longitude, :zoom, :twelveHourFormat); UPDATE users SET name = :name, email = :email, admin = :admin, map = :map, distanceUnit = :distanceUnit, speedUnit = :speedUnit, latitude = :latitude, longitude = :longitude, zoom = :zoom, twelveHourFormat = :twelveHourFormat WHERE id = :id; UPDATE users SET hashedPassword = :hashedPassword, salt = :salt WHERE id = :id; DELETE FROM users WHERE id = :id; SELECT u.id AS userId, d.id AS deviceId FROM users u, devices d WHERE u.admin=1 UNION SELECT ud.users_id AS userId, ud.devices_id AS deviceId FROM users_devices ud INNER JOIN users u ON ud.users_id=u.id WHERE u.admin=0 AND u.readOnly=0 SELECT userId, groupId FROM user_group; SELECT \* FROM devices; INSERT INTO devices (name, uniqueId, groupId) VALUES (:name, :uniqueId, :groupId); UPDATE devices SET name = :name, uniqueId = :uniqueId, groupId = :groupId WHERE id = :id; UPDATE devices SET status = :status, lastUpdate = :lastUpdate WHERE id = :id; DELETE FROM devices WHERE id = :id; DELETE FROM user_device WHERE userId = :userId AND deviceId = :deviceId; SELECT \* FROM groups; INSERT INTO groups (name) VALUES (:name); UPDATE groups SET name = :name, groupId = :groupId WHERE id = :id; DELETE FROM groups WHERE id = :id; INSERT INTO user_group (userId, groupId) VALUES (:userId, :groupId); DELETE FROM user_group WHERE userId = :userId AND groupId = :groupId; SELECT \* FROM positions WHERE deviceId = :deviceId AND fixTime BETWEEN :from AND :to ORDER BY fixTime; INSERT INTO positions (device_id, protocol, serverTime, time, valid, latitude, longitude, altitude, speed, course, address, other) VALUES (:deviceId, :protocol, :now, :deviceTime, :valid, :latitude, :longitude, :altitude, :speed, :course, :address, :attributes); SELECT id, protocol, device_id AS deviceId, serverTime, time AS deviceTime, time AS fixTime, valid, latitude, longitude, altitude, speed, course, address, other AS attributes FROM positions WHERE id IN (SELECT latestPosition_id FROM devices); UPDATE devices SET latestPosition_id = :id WHERE id = :deviceId; SELECT \* FROM events WHERE id = :id; INSERT INTO events (type, serverTime, deviceId, positionId, geofenceId, attributes) VALUES (:type, :serverTime, :deviceId, :positionId, :geofenceId, :attributes); SELECT \* FROM events WHERE deviceId = :deviceId AND type LIKE :type AND serverTime BETWEEN :from AND :to ORDER BY serverTime DESC; SELECT \* FROM geofences WHERE id = :id; SELECT \* FROM geofences; INSERT INTO geofences (name, description, area, attributes) VALUES (:name, :description, :area, :attributes); UPDATE geofences SET name = :name, description = :description, area = :area, attributes = :attributes WHERE id = :id; DELETE FROM geofences WHERE id = :id; SELECT userId, geofenceId FROM user_geofence; INSERT INTO user_geofence (userId, geofenceId) VALUES (:userId, :geofenceId); DELETE FROM user_geofence WHERE userId = :userId AND geofenceId = :geofenceId; SELECT groupId, geofenceId FROM group_geofence; INSERT INTO group_geofence (groupId, geofenceId) VALUES (:groupId, :geofenceId); DELETE FROM group_geofence WHERE groupId = :groupId AND geofenceId = :geofenceId; SELECT deviceId, geofenceId FROM device_geofence; INSERT INTO device_geofence (deviceId, geofenceId) VALUES (:deviceId, :geofenceId); DELETE FROM device_geofence WHERE deviceId = :deviceId AND geofenceId = :geofenceId; SELECT \* FROM notifications; INSERT INTO notifications (userId, type, attributes) VALUES (:userId, :type, :attributes); UPDATE notifications SET userId = :userId, type = :type, attributes = :attributes WHERE id = :id; DELETE FROM notifications WHERE id = :id; 5001 5002 5003 5004 5005 5006 false 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113