[Gfoss] Aggiunere la geolocalizzazione dell'utente in un form di GeoDjango
Massimiliano Moraca
massimilianomoraca a gmail.com
Mar 24 Set 2019 11:01:16 CEST
Ciao Amedeo, grazie per la risposta.
Quel punto interrogativo c'è anche nel codice della mappa che mi funziona,
il codice proviene da lì, la uso come muletto per i test.
Il giorno mar 24 set 2019 alle ore 10:43 Amedeo Fadini <amefad a gmail.com>
ha scritto:
> Ciao in questa riga
>
> positionFeature.setGeometry(pos ?
>
> è capitato un punto di domanda alieno, verifica che non ci sia anche nel
> codice effettivo.
>
> Il codice javascript lo dovresti mettere nel template in maniera che esca
> una pagine html valida, per quanto ne so in javascript è sempre questione
> di tempi, dovrsti fare in modo che quando creai il nuovo vettore l'oggetto
> mappa sia già creato.
>
> Ad ogni modo da console dovresti trovare degli errori che ti guidano sulla
> strada giusta
>
> Amefad
>
> Il giorno mar 24 set 2019 alle ore 08:39 Massimiliano Moraca <
> massimilianomoraca a gmail.com> ha scritto:
>
>> Buongiorno a tutti,
>> sto provando a fare quanto in oggetto ma ho difficoltà a capire dove
>> inserire lo script per farlo. Lo script che voglio usare è già
>> correttamente in uso su altre mie mappe ma sono mappe che non prevedono
>> l'aggiunta di oggetti da parte dell'utente.
>> Qui[1] ho inserito quello che ho fatto; in pratica ho creato un mio widget
>> sulla base di OpenLayersWidget modificando sia il template che il
>> JavaScript. Il widget customizzato funziona. Successivamente ho deciso di
>> inserire sia lo script per il geocoder che quello per la geolocalizzazione
>> dell'utente in modo da facilitarlo nell'aggiunta dell'oggetto. Il geocoder
>> funziona ma quello che non riesco a far funzionare è la geolocalizzazione
>> dell'utente.
>> In pratica non riesco a capire dove inserire il codice per far funzionare
>> correttamente la gelocalizzazione. A livello di JavaScript non è che sia
>> così ferrato...
>>
>> Per le altre mappe ho creato un bottone che compare su mappa; l'utente ci
>> clicca su e viene geolocalizzato:
>>
>> > <div class="geolocation" id="geolocateme">
>> > <button class="btn geolocation-button">
>> > <i class="fas fa-globe"></i>
>> > </button>
>> > </div>
>>
>>
>> il tutto avviene usando questo script:
>>
>> > var geolocation = new ol.Geolocation({
>> > projection: map.getView().getProjection(),
>> > tracking: false,
>> > trackingOptions: {
>> > enableHighAccuracy: true,
>> > maximumAge: 5000
>> > }
>> > });
>> > var button = document.getElementById('geolocateme');
>> > var handleGetPosition = function(e) {
>> > var trackingwasalreadyon = geolocation.getTracking();
>> > if(trackingwasalreadyon){
>> > geolocation.setTracking(false);
>> > } else
>> > { geolocation.setTracking(true); getPosition();
>> > }
>> > };
>> > button.addEventListener('click', handleGetPosition, false);
>> > button.addEventListener('touchstart', handleGetPosition,
>> false);
>> > function getPosition() {
>> > var positionFeature = new ol.Feature();
>> > positionFeature.setStyle(new ol.style.Style({
>> > image: new ol.style.Circle({
>> > radius: 6,
>> > fill: new ol.style.Fill({
>> > color: '#fa0000'
>> > }),
>> > stroke: new ol.style.Stroke({
>> > color: '#fff',
>> > width: 2
>> > }),
>> > }),
>> > }));
>> > geolocation.on('change:position', function() {
>> > var pos = geolocation.getPosition();
>> > positionFeature.setGeometry(pos ?
>> > new ol.geom.Point(pos) : null);
>> > view.setCenter(pos);
>> > view.setZoom(12);
>> > });
>> > new ol.layer.Vector({
>> > map: map,
>> > source: new ol.source.Vector({
>> > features: [
>> > positionFeature,
>> > ]
>> > })
>> > });
>> > };
>>
>>
>> E questo è quello che sto provando ad implementare nel form. Qualcuno qui
>> ha esperienza in questo?
>>
>>
>>
>> -----
>> [1]
>>
>> https://stackoverflow.com/questions/58063527/how-to-add-geolocation-to-a-geodjango-form
>> _______________________________________________
>> Gfoss a lists.gfoss.it
>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>> Questa e' una lista di discussione pubblica aperta a tutti.
>> I messaggi di questa lista non hanno relazione diretta con le posizioni
>> dell'Associazione GFOSS.it.
>> 764 iscritti al 23/08/2019
>
>
Maggiori informazioni sulla lista
Gfoss