Spanish Problema Material Design y GoogleMaps

Xanatos34

Member
Licensed User
Longtime User
Hola, soy nuevo, llevo unos meses programando con Basic4Android.

Estoy probando una aplicación que usa Material Design con la librería AppCompat y la librería GoogleMaps.

El caso es que parece que no puedo usar conjuntamente las dos librerías. Me explico:

Si quito todas las referencias a la librería Appcompat , la aplicación carga el mapa sin problemas, pero cuando activo la librería el programa se detiene al hacer referencia al mapfragment. ¿Alguna solución?

B4X:
#Extends: android.support.v7.app.AppCompatActivity
#Region  Activity Attributes
   #FullScreen: False
   #IncludeTitle: True
#End Region

Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.
    Private GPS1 As GPS
End Sub

Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.

    Dim Panel1 As Panel
    Private mapf As MapFragment
    Dim gm As GoogleMap
    Dim Geocoder1 As Geocoder
    Private acTitulo As ACToolBarDark
End Sub

Sub Activity_Create(FirstTime As Boolean)
    Panel1.Initialize("")
    Activity.LoadLayout("layout1")
    Activity.AddView(Panel1, 0, acTitulo.Height+2dip, 100%x, 100%y-acTitulo.Height+2dip)
    If mapf.IsGooglePlayServicesAvailable = False Then 
        ToastMessageShow("Google Play services not available.", True)
    Else
        mapf.Initialize("Mapa",Panel1)
        If FirstTime Then
            Geocoder1.Initialize("Geocoder1")
            GPS1.Initialize("GPS")
        End If
    End If     
         
End Sub
Al compilar en modo Debug, obtengo:
debug.jpg

Librerias instaladas
librerias.jpg
 

rscheel

Well-Known Member
Licensed User
Longtime User
Hola, soy nuevo, llevo unos meses programando con Basic4Android.

Estoy probando una aplicación que usa Material Design con la librería AppCompat y la librería GoogleMaps.

El caso es que parece que no puedo usar conjuntamente las dos librerías. Me explico:

Si quito todas las referencias a la librería Appcompat , la aplicación carga el mapa sin problemas, pero cuando activo la librería el programa se detiene al hacer referencia al mapfragment. ¿Alguna solución?

B4X:
#Extends: android.support.v7.app.AppCompatActivity
#Region  Activity Attributes
   #FullScreen: False
   #IncludeTitle: True
#End Region

Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.
    Private GPS1 As GPS
End Sub

Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.

    Dim Panel1 As Panel
    Private mapf As MapFragment
    Dim gm As GoogleMap
    Dim Geocoder1 As Geocoder
    Private acTitulo As ACToolBarDark
End Sub

Sub Activity_Create(FirstTime As Boolean)
    Panel1.Initialize("")
    Activity.LoadLayout("layout1")
    Activity.AddView(Panel1, 0, acTitulo.Height+2dip, 100%x, 100%y-acTitulo.Height+2dip)
    If mapf.IsGooglePlayServicesAvailable = False Then
        ToastMessageShow("Google Play services not available.", True)
    Else
        mapf.Initialize("Mapa",Panel1)
        If FirstTime Then
            Geocoder1.Initialize("Geocoder1")
            GPS1.Initialize("GPS")
        End If
    End If    
        
End Sub
Al compilar en modo Debug, obtengo:
View attachment 59414
Librerias instaladas
View attachment 59415


Por favor comparta el código de su manifest editor
 

rscheel

Well-Known Member
Licensed User
Longtime User
Y agregue la siguiente linea a su Main activity, si no la tiene.

B4X:
#AdditionalJar: com.google.android.gms:play-services-maps
 

Xanatos34

Member
Licensed User
Longtime User
Hola, lo solucioné con sus indicaciones. He añadido:
B4X:
#AdditionalJar: com.google.android.gms:play-services-maps

y el Manifiest Editor queda:
B4X:
AddManifestText(
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="14"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<supports-screens android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
'End of default text.

AddApplicationText(
<meta-data
  android:name="com.google.android.maps.v2.API_KEY"
  android:value="AIzaSyCZR5hKD9J0ebiNFcPUCWWBK-7HW1ato5k"/>
<meta-data android:name="com.google.android.gms.version"
   android:value="@integer/google_play_services_version" />
)
SetApplicationAttribute(android:theme, "@style/MyAppTheme")
CreateResource(values, theme.xml,
<resources>
    <style name="MyAppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">#0098FF</item>
        <item name="colorPrimaryDark">#007CF5</item>
        <item name="colorAccent">#AAAA00</item>
        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
    </style>
</resources>
)

Parece que funciona, ¡Gracias!
 

rscheel

Well-Known Member
Licensed User
Longtime User
Esto podría aumentarlo
B4X:
android:targetSdkVersion="22"
 
Top