Italian [B4J] Come realizzare mappa con iconcine auto che si spostano dianamicamente?

Star-Dust

Expert
Licensed User
Longtime User
Imposti i marcatori (Marker) con icona personalizzata e man mano gli cambi le coordinate gps (lon,lat)

Non avevo visto l'esempio, molto carino. Sto lavorando a un Applicativo sulle mappe in questo momento
 

amorosik

Expert
Licensed User
Per 'gli cambi coordinate' intendi che cancelli il marker e lo rifai con coordinate diverse?
Perche' non mi risulta si possano cambiare ad un marker esistente
O si?
 

Star-Dust

Expert
Licensed User
Longtime User
Per 'gli cambi coordinate' intendi che cancelli il marker e lo rifai con coordinate diverse?
Perche' non mi risulta si possano cambiare ad un marker esistente
O si?
Si possono fare entrambe le cose. Almeno in B4J l'ho fatto, sono certo che si possano fare anche sulle altre piattaforme ma io personalmente non l'ho provato
 

Star-Dust

Expert
Licensed User
Longtime User
B4X:
' SelectedMarker As Marker
' LatLong as LatLon
JoMarker As JavaObject = SelectedMarker
JoMarker.RunMethod("setVisible", Array (True)) 'Rendere visibile o invisibile
JoMarker.RunMethod("setPosition", Array(LatLong)) ' Setta la posizione
JoMarker.RunMethod("setTitle", Array(NewText)) ' Cambia il testo
 
Last edited:
D

Deleted member 103

Guest
Si possono fare entrambe le cose. Almeno in B4J l'ho fatto, sono certo che si possano fare anche sulle altre piattaforme ma io personalmente non l'ho provato
Ho realizato una cosa del genere un paio di anni fa.
In questo video si vedono 2 client (cellulari) 1 server(tablet).
 

amorosik

Expert
Licensed User
Ho realizato una cosa del genere un paio di anni fa.
In questo video si vedono 2 client (cellulari) 1 server(tablet).

Sembrano aggiornare posizione ogni secondo circa
Cosa usi per trasmettere posizione d telefono a client grafico ?
Socket, Firebase, Mqtt ?
Si vedono solo due telefoni spostarsi, tenendo quella frequenza di rinfresco (circa 1 Hz), quante posizioni al max riesci a vedere contemporaneamente?
 
D

Deleted member 103

Guest
Molto molto bello
Niente codice vero?
(giusto per non lasciare niente di intentato)
Non è così semplice, un paio di righe e tutto è pronto.
Ti posso dire cosa ho usato per questo progetto:
1. FireBaseAuth
2. FireBaseNotification
3. FusedLocationProvider
4. GoogleMaps
5. GoogleMapsExtra
5. GPS
6. ...
 

amorosik

Expert
Licensed User
Quindi le posizioni dei vari telefoni le spari via Firebase Realtime ed i client 'vedono' le variazioni?
Complimenti davvero, l'effetto ottenuto e' davvero carino
 
D

Deleted member 103

Guest
Perche' facendo una proporzione con le strade sulla mappa o vanno a 300 Km/ora oppure la visualizzazione e' stata accelerata
La velocità si vede nel video "Ø Speed", sono circa 50 km/h
 
D

Deleted member 103

Guest
Quindi le posizioni dei vari telefoni le spari via Firebase Realtime ed i client 'vedono' le variazioni?
Complimenti davvero, l'effetto ottenuto e' davvero carino
Nel mio caso i clienti vedono solo il proprio cellulare, mentre il master vede tutti.

quante posizioni al max riesci a vedere contemporaneamente?
non ci sono limiti.
 

amorosik

Expert
Licensed User
Nel mio caso i clienti vedono solo il proprio cellulare, mentre il master vede tutti.


non ci sono limiti.

Non capisco, se il master aggiorna visualizzazione ogni secondo, ed il ciclo lettura del master di una posizione portasse via, ad esempio, 10 millisecondi, ne potri vedere al max 100
Come fai a dire che non ci sono limiti?
Mi sfugge qualcosa
 
D

Deleted member 103

Guest
uhm... temo che i servizi di Google - Firebase abbiano limiti, oltre i quali devi pagare.
se superi il limite, allora significa che la App va bene e quindi puoi anche pagare il servizio.

Non capisco, se il master aggiorna visualizzazione ogni secondo, ed il ciclo lettura del master di una posizione portasse via, ad esempio, 10 millisecondi, ne potri vedere al max 100
Come fai a dire che non ci sono limiti?
Mi sfugge qualcosa
Ogni volta che il client invia la propria positione, il master riceve e attualizza la prosizione della vettura.
 

amorosik

Expert
Licensed User
se superi il limite, allora significa che la App va bene e quindi puoi anche pagare il servizio.

Ogni volta che il client invia la propria positione, il master riceve e attualizza la prosizione della vettura.

Certo questo e' chiaro, ma immagino che per ogni 'aggiornamento di posizione' vada via un po' di tempo
Supponiamo, per fare un esempio, che questo tempo sia 10 millisecondi, quindi 100 visualizzazioni al secondo
Se hai 200 client che inviano di continuo ognuno una posizione ogni secondo, come riesce il master a visualizzarle?
(sarebbero necessarie 200 aggiornamenti/sec, ma il master per problemi suoi, riesce a fare max 100 aggiornamenti/sec)
 
Top