Google maps api v2 – El tipo android.app.Fragment no se puede resolver. Se hace referencia indirectamente a los archivos .class requeridos
He encontrado algunas preguntas sobre este tema aquí, pero sus respuestas no parecen aplicarse siendo que mi proyecto está haciendo referencia a la biblioteca que contiene la clase. Aquí está mi código:
package com.demo.app; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v4.view.ViewPager; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.MapFragment; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MarkerOptions; public class Mapview extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); GPSTracker gps = new GPSTracker(Mapview.this); // check if GPS enabled if(gps.canGetLocation()){ double latitude = gps.getLatitude(); double longitude = gps.getLongitude(); // \n is for new line // Toast.makeText(getApplicationContext(), "Your Location is - \nLat: " + latitude + "\nLong: " + longitude, Toast.LENGTH_LONG).show(); }else{ // can't get location // GPS or Network is not enabled // Ask user to enable GPS/network in settings gps.showSettingsAlert(); } double latitude = gps.getLatitude(); double longitude = gps.getLongitude(); SupportMapFragment fragment = new SupportMapFragment(); getSupportFragmentManager().beginTransaction() .add(android.R.id.content, fragment).commit(); GoogleMap mMap; mMap = ((MapFragment) getSupportFragmentManager().findFragmentById(android.R.id.content)).getMap(); mMap.addMarker(new MarkerOptions() .position(new LatLng(0, 0)) .title("Hello world")); } }
Así que usted puede ver que he hecho referencia a la biblioteca Fragment en las importaciones, Eclipse no lanza ningún error por lo que parece reconocer que existe. En la imagen de abajo se puede ver que mi proyecto eclipse allí se muestra bibliotecas referenciadas. En ella se puede ver la clase FragmentManager con findFragmentById () disponible. También encontré las otras clases que estoy haciendo referencia de una manera similar. Así que para concluir tengo las bibliotecas en una lib carpeta, y son reconocidos por eclipse y no lanzar errores en el código, pero el paquete no exportará debido a errores y el único error está en la línea uno de este código junto a la " P "en el paquete que indica: 'El tipo android.app.Fragment no se puede resolver. Se hace referencia indirectamente a los archivos .class necesarios.
- ¿Cómo obtener la ubicación actual de GPS (latitud-longitud) con la API de Google en la aplicación de Android?
- Cómo calcular la distancia de diferentes marcadores en un mapa y luego recoger el menos uno
- Cómo dibujar polígono mano libre en Google mapa V2 en Android?
- Cambiar de fragmento con fragmento de mapa deja una pantalla negra
- Android - Cómo mostrar las direcciones en la vista web
Bibliotecas referenciadas
¿Algunas ideas?
Traté de limpiar y reconstruir los caminos unas cuantas veces.
- Compartir la imagen estática de google map a través de la aplicación android
- GetMapAsync () en el fragmento
- Android google maps async tarea agregar marcadores
- Cómo utilizar el API AutocompleteFilter de Android Places
- Tiempo de viaje entre dos ubicaciones en Google Map Android API V2
- Android, dibujar ruta en el mapa de google
- ¿Cómo mostrar múltiples marcadores con diferentes iconos en Google Maps Android API v2?
- Android GoogleMaps V2 no se actualiza
Trate de cambiar
mMap = ((MapFragment) getSupportFragmentManager().findFragmentById(android.R.id.content)).getMap();
a
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(android.R.id.content)).getMap();
Debes estar ejecutando una versión pre ICS de Android y estás tirando en "MapFragment" que utiliza la versión incorporada de Fragmentos y no la versión de la biblioteca de soporte.
Asegúrese de que su destino SDK es 3.0 o superior.
En Eclipse, haga clic en el menú Proyecto, haga clic en Propiedades, haga clic en Android a la izquierda, seleccione un SDK de destino de 3.0 o superior.
- ¿Por qué mi administrador de alarmas de Android está disparando al instante?
- Método sincronizado de Java