Zoom avanti/indietro reagisci alle mappe native in base al raggio in km/miglia

Aug 18 2020

Ho un requisito nella mia app nativa di reazione in cui se l'utente fornisce un numero che sarà il numero di chilometri o miglia (come 5 o 10), la mappa dovrebbe ingrandire/rimpicciolire mostrando l'area con il raggio come input numero.

Come posso modificare i valori latitudeDelta e longitudeDelta in base a tali numeri di input.

Per favore aiutatemi. Grazie in anticipo.

Risposte

MuhammadJunaid Aug 18 2020 at 17:11

latitudeDelta è la quantità di gradi visibili sullo schermo. Circa 111.045 KM è sempre uguale a 1 grado, quindi puoi calcolare la latitudineDelta dell'area attualmente visibile in KM con questo

latitudeDelta = diametro (UserEntered) / 111.045

Ciò presuppone che lo schermo sia in modalità verticale e, pertanto, latitudeDelta è il valore maggiore. In caso contrario, usa invece longitudeDelta.

per l'aggiornamento della mappa è possibile impostare le variabili di stato per longitudeDelta e latitudeDelta e quando l'utente inserisce il valore è possibile eseguire il calcolo dalla formula sopra e aggiornare queste variabili di stato e anche la mappa verrà eventualmente aggiornata.