Italian Google Maps

Fulvio75

Well-Known Member
Licensed User
Ciao qualcuno recentemente ha sviluppato un'app contenente la visualizzazione di Google Maps? Ho seguito quanto già fatto in diversi esempi, visualizzo tutto correttamente ma quando apro l'app sulla mappa non viene evidenziata la mia posizione zoomata, il puntino è corretto mi dà la posizione giusta ma la visualizzazione è su mappa completa e vorrei zoomare sulla mia posizione, se mi sposto cambia la posizione in automatico o devo fare tutte le volte il refresh?
 

Fulvio75

Well-Known Member
Licensed User
Per chi volesse sviluppare un'app con all'interno un riquadro di Google Maps e l'applicazione dovesse aver bisogno di altri permessi oltre la geolocalizzazione prima di verificare questi permessi inizializzare subito Google Maps come da esempio, altrimenti se si verificano prima gli altri permessi GM non si inizializza e va in errore.
Non mettere il permesso di geolocalizzazione di seguito agli altri permessi dell'applicazione perchè non funziona ugualmente.
Non so il perchè ci sono stato dietro 5 giorni e alla fine ho scoperto questo.

B4X:
'Avvio applicazione inizializzazione mappa prima di tutto il resto
Sub Initialize_Map  
   
    Dim CameraPosition As CameraPosition
       
    fldInitializeMap.Visible = True
   
    'Visualizza se il traffico è abilitato
    Functions.Set_ObjectColor(Activity,chkTrafficEnabled,Colors.White,Colors.White)
    chkTrafficEnabled.Checked = AppSettings.TrafficEnabled
   
    Try
       
        Wait For Map_Ready

        GoogleMap = Map.GetMap
   
        If GoogleMap.IsInitialized = True Then
       
            [B]RP.CheckAndRequest(RP.PERMISSION_ACCESS_FINE_LOCATION)
            Wait For Activity_PermissionResult (Permission As String, Result As Boolean)[/B]
       
            If Result = True Then
               
                GoogleMap.MyLocationEnabled = True
                GoogleMap.MapType = AppSettings.MapType
                GoogleMap.TrafficEnabled = AppSettings.TrafficEnabled

                'Attendo la localizzazione
                Do While GoogleMap.MyLocation.IsInitialized = False
                    Sleep(200)
                Loop
           
                'Visualizzo la posizione corrente
                If GoogleMap.MyLocation.IsInitialized = True Then
           
                    AppDeclares.CurrentLatitude = GoogleMap.MyLocation.Latitude
                    AppDeclares.CurrentLongitude = GoogleMap.MyLocation.Longitude
                   
                    fldCurrentCoordinates.Text = "Lat.: " & NumberFormat2(AppDeclares.CurrentLatitude,1,4,4,False) & _
                    " Lon.: " & NumberFormat2(AppDeclares.CurrentLongitude,1,4,4,False)
                   
                    CameraPosition.Initialize(AppDeclares.CurrentLatitude,AppDeclares.CurrentLongitude,AppSettings.MapZoom)
                    GoogleMap.MoveCamera(CameraPosition)
                       
                End If
           
            Else
               
                pnlGoogleMaps.Visible = False
       
                ToastMessageShow("Permesso utilizzo GoogleMaps negato",False)

            End If
   
        Else
       
            pnlGoogleMaps.Visible = False
       
            ToastMessageShow("Errore caricamento GoogleMaps",False)

        End If
       
    Catch
       
        pnlGoogleMaps.Visible = False

        ToastMessageShow("Errore inizializzazione GoogleMaps",False)
       
    End Try

    fldInitializeMap.Visible = False
       
End Sub
 

Fulvio75

Well-Known Member
Licensed User
Come si gira la mappa? L'indicatore di posizione va verso il basso e vorrei visualizzarlo che va verso la direzione dove sto procedendo. È possibile farlo?
 

Fulvio75

Well-Known Member
Licensed User
Comunque non capisco perché una volta che non riesce a caricare la mappa con fragment non c'è più possibilità di fargliela ricaricare e bisogna chiudere e riaprire l'app
 
Top