digiwild / app /geolocalisation /js_geolocation.py
vancauwe's picture
test: debug geoloc on HF
1626a0b
raw
history blame
2.33 kB
import gradio as gr
import json
from geolocalisation.maps import create_geolocalisation_object, save_geolocalisation_to_json
# JavaScript code to get location and update hidden_input
js_geocode = """
function() {
var textbox = document.querySelector('#textbox_id textarea');
console.log(textbox)
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
function(position) {
var data = {
'latitude': position.coords.latitude,
'longitude': position.coords.longitude,
'accuracy': position.coords.accuracy
};
console.log("Geolocation data:", data);
textbox.value = JSON.stringify(data);
textbox.dispatchEvent(new Event('input', { bubbles: true }));
},
function(error) {
var data = {'error': error.message};
console.log("Geolocation error:", data);
textbox.value = JSON.stringify(data);
textbox.dispatchEvent(new Event('input', { bubbles: true }));
}
);
} else {
var data = {'error': 'Geolocation is not supported by this browser.'};
console.log("Geolocation unsupported:", data);
textbox.value = JSON.stringify(data);
textbox.dispatchEvent(new Event('input', { bubbles: true }));
}
}
"""
def display_location(location_json, individual):
geo_dict = json.loads(location_json)
print(geo_dict)
# latitude = geo_dict["latitude"]
# longitude = geo_dict["longitude"]
# geolocalisation = create_geolocalisation_object(latitude, longitude, "NA")
# individual = save_geolocalisation_to_json(geolocalisation, individual)
# locationtext = gr.Textbox(
# f"Latitude: {latitude} | Longitude: {longitude}",
# visible=True,
# show_label=False,
# interactive=False)
# print("Done displaying location")
location_data = gr.JSON(value=geo_dict, label="Identified GPS Location", visible=True)
#return locationtext, individual
return location_data, individual
# def display_location(location_json):
# return location_json