mirror of
https://github.com/owntracks/recorder.git
synced 2026-08-27 16:57:21 +00:00
@@ -69,6 +69,29 @@ function initialize() {
|
||||
processPoints(e.feature.getGeometry(), bounds.extend, bounds);
|
||||
map.fitBounds(bounds);
|
||||
});
|
||||
|
||||
// click to show info
|
||||
map.data.addListener('click', function(event) {
|
||||
var tst = event.feature.getProperty('tst');
|
||||
var data = {
|
||||
lat: event.latLng.lat(),
|
||||
lon: event.latLng.lng(),
|
||||
tst: tst,
|
||||
addr: event.feature.getProperty('address'),
|
||||
|
||||
};
|
||||
var dt = moment.utc(tst * 1000).local();
|
||||
|
||||
data['fulldate'] = dt.format("DD MMM YYYY HH:mm:ss");
|
||||
|
||||
var t = "<img class='img-circle' src='data:image/png;base64,{{ face }}' height='20' width='20' />";
|
||||
|
||||
var t = "{{ addr }}<br/>{{ lat }},{{lon}} {{ fulldate }}";
|
||||
|
||||
infowindow.setContent(Mustache.render(t, data));
|
||||
infowindow.setPosition(event.latLng);
|
||||
infowindow.open(map);
|
||||
});
|
||||
}
|
||||
|
||||
google.maps.event.addDomListener(window, 'load', initialize);
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
|
||||
</style>
|
||||
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
|
||||
<script src="../table/js/mustache.js"></script>
|
||||
<script src="../table/js/moment.min.js"></script>
|
||||
<script src="functions.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -852,7 +852,7 @@ void locations(char *filename, JsonNode *obj, JsonNode *arr, time_t s_lo, time_t
|
||||
*
|
||||
*/
|
||||
|
||||
static void append_to_feature_array(JsonNode *features, double lat, double lon, char *tid, char *addr)
|
||||
static void append_to_feature_array(JsonNode *features, double lat, double lon, char *tid, char *addr, long tst)
|
||||
{
|
||||
JsonNode *geom, *props, *f = json_mkobject();
|
||||
|
||||
@@ -868,6 +868,7 @@ static void append_to_feature_array(JsonNode *features, double lat, double lon,
|
||||
props = json_mkobject();
|
||||
json_append_member(props, "name", json_mkstring(tid));
|
||||
json_append_member(props, "address", json_mkstring(addr));
|
||||
json_append_member(props, "tst", json_mknumber(tst));
|
||||
|
||||
json_append_member(f, "geometry", geom);
|
||||
json_append_member(f, "properties", props);
|
||||
@@ -890,6 +891,7 @@ JsonNode *geo_json(JsonNode *location_array)
|
||||
json_foreach(one, location_array) {
|
||||
double lat = 0.0, lon = 0.0;
|
||||
char *addr = "", *tid = "";
|
||||
long tst = 0;
|
||||
|
||||
if ((j = json_find_member(one, "lat")) != NULL) {
|
||||
lat = j->number_;
|
||||
@@ -904,8 +906,11 @@ JsonNode *geo_json(JsonNode *location_array)
|
||||
if ((j = json_find_member(one, "addr")) != NULL) {
|
||||
addr = j->string_;
|
||||
}
|
||||
if ((j = json_find_member(one, "tst")) != NULL) {
|
||||
tst = j->number_;
|
||||
}
|
||||
|
||||
append_to_feature_array(feature_array, lat, lon, tid, addr);
|
||||
append_to_feature_array(feature_array, lat, lon, tid, addr, tst);
|
||||
}
|
||||
|
||||
json_append_member(fcollection, "features", feature_array);
|
||||
|
||||
Reference in New Issue
Block a user