Autore Topic: Problema con creazione mappe  (Letto 2471 volte)

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Problema con creazione mappe
« il: 08 Settembre 2013, 18:40:06 CEST »
0
ciao!
ho seguito diversi tutorial su come integrare le mappe, ma non riesco proprio.
ho creato una app su google code.
ho modificato il manifest per i permessi e cose varie:
Codice: [Seleziona]
    <permission
        android:name="com.mp.banca.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" >
    </permission>

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="com.mp.banca.permission.MAPS_RECEIVE" />
.....................
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />
..........................
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="API_KEY" />
    </application>
creato un layout:
Codice: [Seleziona]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:keepScreenOn="true"
    tools:context=".ActivityMap" >

    <com.google.android.gms.maps.MapView
        xmlns:map="http://schemas.android.com/apk/res-auto"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        map:cameraBearing="0"
        map:cameraTargetLat="41.901766"
        map:cameraTargetLng="12.491341"
        map:cameraTilt="30"
        map:cameraZoom="10"
        map:mapType="hybrid"
        map:uiCompass="true"
        map:uiRotateGestures="false"
        map:uiScrollGestures="true"
        map:uiTiltGestures="true"
        map:uiZoomControls="false"
        map:uiZoomGestures="true" />

</RelativeLayout>
e una activity:
Codice: [Seleziona]
import android.app.Activity;
import android.os.Bundle;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapView;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class ActivityMap extends Activity {

        private MapView mMapView;
        private GoogleMap mMap;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_map);
                mMapView = (MapView) findViewById(R.id.map);
                mMapView.onCreate(savedInstanceState);
                mMap = (GoogleMap) mMapView.getMap();
                mMap.setMyLocationEnabled(true);
                MarkerOptions marker = new MarkerOptions();
                marker.position(new LatLng(41.853069, 12.605517));
                marker.title("Università");
                marker.snippet("Facoltà di informatica");
                mMap.addMarker(marker);
        }

        @Override
        protected void onResume() {
                super.onResume();
                mMapView.onResume();
        }

        @Override
        protected void onPause() {
                super.onPause();
                mMapView.onPause();
        }

        @Override
        protected void onDestroy() {
                super.onDestroy();
                mMapView.onDestroy();
        }

        @Override
        protected void onSaveInstanceState(Bundle outState) {
                super.onSaveInstanceState(outState);
                mMapView.onSaveInstanceState(outState);
        }
}
non ho errori in compilazione, e la app infatti funziona fino a che non richiamo questa activity, dove ottengo questo errore:
Codice: [Seleziona]
09-08 16:34:39.278: E/AndroidRuntime(1927): FATAL EXCEPTION: main
09-08 16:34:39.278: E/AndroidRuntime(1927): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mp.banca/com.mp.banca.ActivityMap}: java.lang.NullPointerException
09-08 16:34:39.278: E/AndroidRuntime(1927):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
09-08 16:34:39.278: E/AndroidRuntime(1927):         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
09-08 16:34:39.278: E/AndroidRuntime(1927):         at android.app.ActivityThread.access$600(ActivityThread.java:141)
09-08 16:34:39.278: E/AndroidRuntime(1927):         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
09-08 16:34:39.278: E/AndroidRuntime(1927):         at android.os.Handler.dispatchMessage(Handler.java:99)
09-08 16:34:39.278: E/AndroidRuntime(1927):         at android.os.Looper.loop(Looper.java:137)
09-08 16:34:39.278: E/AndroidRuntime(1927):         at android.app.ActivityThread.main(ActivityThread.java:5041)
09-08 16:34:39.278: E/AndroidRuntime(1927):         at java.lang.reflect.Method.invokeNative(Native Method)
09-08 16:34:39.278: E/AndroidRuntime(1927):         at java.lang.reflect.Method.invoke(Method.java:511)
09-08 16:34:39.278: E/AndroidRuntime(1927):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
09-08 16:34:39.278: E/AndroidRuntime(1927):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
09-08 16:34:39.278: E/AndroidRuntime(1927):         at dalvik.system.NativeStart.main(Native Method)
09-08 16:34:39.278: E/AndroidRuntime(1927): Caused by: java.lang.NullPointerException
09-08 16:34:39.278: E/AndroidRuntime(1927):         at com.mp.banca.ActivityMap.onCreate(ActivityMap.java:22)
09-08 16:34:39.278: E/AndroidRuntime(1927):         at android.app.Activity.performCreate(Activity.java:5104)
09-08 16:34:39.278: E/AndroidRuntime(1927):         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
09-08 16:34:39.278: E/AndroidRuntime(1927):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
09-08 16:34:39.278: E/AndroidRuntime(1927):         ... 11 more

non so veramente più dove sbattere la testa!!!!

Post unito: 09 Settembre 2013, 23:13:12 CEST
ok, ho capito che il problema è che l'emulatore di default non può usare le mappe.
messa la app sul cellulare funziona.

l'unico problema che ho è che se provo a centrarla con CameraPosition, va in crash:
Codice: [Seleziona]
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_map);
                intent = getIntent();
                Double lat = Double.parseDouble(intent.getStringExtra("lat"));
                Double lon = Double.parseDouble(intent.getStringExtra("long"));
                mapView = (MapView) findViewById(R.id.map);
                mapView.onCreate(savedInstanceState);
                map = (GoogleMap) mapView.getMap();
                map.setMyLocationEnabled(true);
                MarkerOptions marker = new MarkerOptions();
                marker.position(new LatLng(lat, lon));
                marker.title("Università");
                marker.snippet("PROVA");
                map.addMarker(marker);
                //CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(lat, lon)).zoom(10).build();
                //map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
        }
senza quella due righe funziona, ma non si centra dove voglio.
con quelle due righe crasha.
sapete come si fa a centrare una mappa di default??
« Ultima modifica: 09 Settembre 2013, 23:13:12 CEST da fermat, Reason: Merged DoublePost »

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Re:Problema con creazione mappe
« Risposta #1 il: 12 Settembre 2013, 21:40:26 CEST »
0
ho risolto usando mapfragment invece che mapactivity.
ciao!

Offline Gc24

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy GT-I9300
  • Sistema operativo:
    Windows 7
Re:Problema con creazione mappe
« Risposta #2 il: 13 Ottobre 2013, 20:10:02 CEST »
0
ho risolto usando mapfragment invece che mapactivity.
ciao!


esatto, in più per centrare una mappa su una determinata coordinata basta il metodo

centermap(coordinate, marker)   dove coordinate è in formato LatLng (altro non è che un contenitore di due double, uno per lat uno per long) e marker è il marker su cui vuoi centrare la mappa

Offline nykons

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson Xperia Arc S
  • Sistema operativo:
    Mac OS X 10.8.3
Re:Problema con creazione mappe
« Risposta #3 il: 02 Dicembre 2013, 11:32:10 CET »
0
Ciao ho il tuo stesso problema, ti dispiacerebbe dirmi come hai risolto???

Inviato dal mio Nexus 4 con Tapatalk 2


Offline birbantello85

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY ACE PLUS
  • Play Store ID:
    birbantello85
  • Sistema operativo:
    ANDROID 2.3.6
Re:Problema con creazione mappe
« Risposta #4 il: 02 Dicembre 2013, 13:29:54 CET »
0
Anch'io ho lo stesso problema...quando tento di far partire l'activity l'app si chiude.
questo è il mio logcat:
Codice: [Seleziona]
12-02 13:24:33.979: I/Process(2563): Sending signal. PID: 2563 SIG: 9
12-02 13:24:41.129: E/Trace(2612): error opening trace file: No such file or directory (2)
12-02 13:24:41.939: D/libEGL(2612): loaded /system/lib/egl/libEGL_adreno200.so
12-02 13:24:41.949: D/libEGL(2612): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
12-02 13:24:41.949: D/libEGL(2612): loaded /system/lib/egl/libGLESv2_adreno200.so
12-02 13:24:41.959: I/Adreno200-EGL(2612): <qeglDrvAPI_eglInitialize:290>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_JB.04.01.01.00.005_msm7627a_JB_CL2577695_release_AU (CL2577695)
12-02 13:24:41.959: I/Adreno200-EGL(2612): Build Date: 07/11/12 Wed
12-02 13:24:41.959: I/Adreno200-EGL(2612): Local Branch: mybranch65565
12-02 13:24:41.959: I/Adreno200-EGL(2612): Remote Branch: quic/master
12-02 13:24:41.959: I/Adreno200-EGL(2612): Local Patches: NONE
12-02 13:24:41.959: I/Adreno200-EGL(2612): Reconstruct Branch: AU_LINUX_ANDROID_JB.04.01.01.00.005 + db7e81a + 4568683 + dfff884 +  NOTHING
12-02 13:24:41.979: D/OpenGLRenderer(2612): Enabling debug mode 0
12-02 13:24:46.269: V/GCMRegistrar(2612): Is registered on server: true
12-02 13:24:51.049: W/GooglePlayServicesUtil(2612): Google Play services out of date.  Requires 4030500 but found 2012110
12-02 13:24:51.049: W/GooglePlayServicesUtil(2612): Google Play services out of date.  Requires 4030500 but found 2012110
12-02 13:24:51.059: W/GooglePlayServicesUtil(2612): Google Play services out of date.  Requires 4030500 but found 2012110
12-02 13:24:51.069: W/GooglePlayServicesUtil(2612): Google Play services out of date.  Requires 4030500 but found 2012110
12-02 13:24:51.069: W/GooglePlayServicesUtil(2612): Google Play services out of date.  Requires 4030500 but found 2012110
12-02 13:24:51.149: D/AndroidRuntime(2612): Shutting down VM
12-02 13:24:51.149: W/dalvikvm(2612): threadid=1: thread exiting with uncaught exception (group=0x40b61930)
12-02 13:24:51.159: E/AndroidRuntime(2612): FATAL EXCEPTION: main
12-02 13:24:51.159: E/AndroidRuntime(2612): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.giancarlo.gruppolevoci/com.giancarlo.gruppolevoci.MappaActivity}: java.lang.NullPointerException
12-02 13:24:51.159: E/AndroidRuntime(2612):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2308)
12-02 13:24:51.159: E/AndroidRuntime(2612):         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
12-02 13:24:51.159: E/AndroidRuntime(2612):         at android.app.ActivityThread.access$600(ActivityThread.java:153)
12-02 13:24:51.159: E/AndroidRuntime(2612):         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
12-02 13:24:51.159: E/AndroidRuntime(2612):         at android.os.Handler.dispatchMessage(Handler.java:99)
12-02 13:24:51.159: E/AndroidRuntime(2612):         at android.os.Looper.loop(Looper.java:137)
12-02 13:24:51.159: E/AndroidRuntime(2612):         at android.app.ActivityThread.main(ActivityThread.java:5227)
12-02 13:24:51.159: E/AndroidRuntime(2612):         at java.lang.reflect.Method.invokeNative(Native Method)
12-02 13:24:51.159: E/AndroidRuntime(2612):         at java.lang.reflect.Method.invoke(Method.java:511)
12-02 13:24:51.159: E/AndroidRuntime(2612):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
12-02 13:24:51.159: E/AndroidRuntime(2612):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
12-02 13:24:51.159: E/AndroidRuntime(2612):         at dalvik.system.NativeStart.main(Native Method)
12-02 13:24:51.159: E/AndroidRuntime(2612): Caused by: java.lang.NullPointerException
12-02 13:24:51.159: E/AndroidRuntime(2612):         at com.giancarlo.gruppolevoci.MappaActivity.onCreate(MappaActivity.java:111)
12-02 13:24:51.159: E/AndroidRuntime(2612):         at android.app.Activity.performCreate(Activity.java:5104)
12-02 13:24:51.159: E/AndroidRuntime(2612):         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
12-02 13:24:51.159: E/AndroidRuntime(2612):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2262)
12-02 13:24:51.159: E/AndroidRuntime(2612):         ... 11 more

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Re:Problema con creazione mappe
« Risposta #5 il: 02 Dicembre 2013, 13:45:42 CET »
0
@nykons
intanto devi avere il google play service installato e devi linkarlo al progetto.
poi questa la activity:
Codice: [Seleziona]
public class ActivityMap extends Activity {
       
        private GoogleMap map;
        private Intent intent;
        private double latitude;
        private double longitude;
       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_map);
                intent = getIntent();
        }
       
        private void initMap() {
                latitude = Double.parseDouble(intent.getStringExtra("lat"));
                longitude = Double.parseDouble(intent.getStringExtra("long"));
                if (map == null) {
                        map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
                        if (map == null) {
                                Toast.makeText(getApplicationContext(), "Impossibile creare la mappa", Toast.LENGTH_SHORT).show();
                        }
                }
                map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
                map.setMyLocationEnabled(true);
                map.getUiSettings().setZoomControlsEnabled(true);
                map.getUiSettings().setMyLocationButtonEnabled(true);
                map.getUiSettings().setCompassEnabled(true);
                map.getUiSettings().setRotateGesturesEnabled(true);
                map.getUiSettings().setZoomGesturesEnabled(true);
                MarkerOptions marker = new MarkerOptions();
                marker.position(new LatLng(latitude, longitude));
                marker.title("CIAO");
                map.addMarker(marker);
                CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(latitude, longitude)).zoom(7).build();
                map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
        }
       
        @Override
        protected void onResume() {
                super.onResume();
                initMap();
        }

        @Override
        protected void onPause() {
                super.onPause();
                initMap();
        }

        @Override
        protected void onDestroy() {
                super.onDestroy();
                initMap();
        }
}
e questo il layout:
Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.MapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>
spero ti sia utile!

@birbantello85
non funzionano sulle ADV!

Offline birbantello85

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY ACE PLUS
  • Play Store ID:
    birbantello85
  • Sistema operativo:
    ANDROID 2.3.6
Re:Problema con creazione mappe
« Risposta #6 il: 02 Dicembre 2013, 14:08:18 CET »
0
@fermat
ma il guaio è che io collego direttamente lo smartphone ad eclipse e testo l'app direttamente nello smartphone...eclipse inoltre non mi da alcun errore di compilazione all'interno dell'activity.   >:(


Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Re:Problema con creazione mappe
« Risposta #7 il: 02 Dicembre 2013, 14:10:52 CET »
0
non da errore in compilazione perchè lo da in esecuzione.

ma installato il google play service dall'sdk manager?
e lo hai poi importato e linkato al progetto?

Offline birbantello85

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY ACE PLUS
  • Play Store ID:
    birbantello85
  • Sistema operativo:
    ANDROID 2.3.6
Re:Problema con creazione mappe
« Risposta #8 il: 02 Dicembre 2013, 14:17:43 CET »
0
@fermat
certo! all'interno del mio progetto ho queste 3 librerie: maps.jar, il google_play_service_lib.jar e google_play_service.jar
Non saprei cos'altro fare. Inoltre nel manifest ho settato tutti permessi necessari...l'unico dibbio che mi viene in mente è questo: con il permesso WRITE_EXTERNAL_STORAGE dove "scrivere" android? nella micro-sd o nella partizione vista come memoria esterna?
« Ultima modifica: 02 Dicembre 2013, 14:21:43 CET da birbantello85 »

Offline Gc24

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy GT-I9300
  • Sistema operativo:
    Windows 7
Re:Problema con creazione mappe
« Risposta #9 il: 02 Dicembre 2013, 15:04:37 CET »
0
ciao allora il tuo problema è qui:
Codice (Java): [Seleziona]
Caused by: java.lang.NullPointerException
12-02 13:24:51.159: E/AndroidRuntime(2612):         at com.giancarlo.gruppolevoci.MappaActivity.onCreate(MappaActivity.java:111)
cosa invochi alla riga 111?

comunque sia, domanda idiota, oltre ad importare il google play service nel tuo progetto, hai creato la tua key google personale da usare con maps?
qui c'è tutto l'iter da seguire: https://developers.google.com/maps/documentation/android/start#getting_the_google_maps_android_api_v2

Offline birbantello85

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY ACE PLUS
  • Play Store ID:
    birbantello85
  • Sistema operativo:
    ANDROID 2.3.6
Re:Problema con creazione mappe
« Risposta #10 il: 02 Dicembre 2013, 19:28:57 CET »
0
ciao allora il tuo problema è qui:
Codice (Java): [Seleziona]
Caused by: java.lang.NullPointerException
12-02 13:24:51.159: E/AndroidRuntime(2612):         at com.giancarlo.gruppolevoci.MappaActivity.onCreate(MappaActivity.java:111)
cosa invochi alla riga 111?

comunque sia, domanda idiota, oltre ad importare il google play service nel tuo progetto, hai creato la tua key google personale da usare con maps?
qui c'è tutto l'iter da seguire: https://developers.google.com/maps/documentation/android/start#getting_the_google_maps_android_api_v2

Si certo ho creato anche la mia key...
comunque alla riga 111 io inizializzo la mia mappa così: mMap = mf.getMap();
Qui sotto ti posto il codice utilizzato:

Codice (Java): [Seleziona]
public class MappaActivity extends FragmentActivity {

private GoogleMap mMap;

        @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mappa);
        setTitle("Mappa");
       
        MapFragment mf = (MapFragment)getFragmentManager().findFragmentById(R.id.mapfragment);
       
        //inizializza la mappa
        mMap = mf.getMap();   //riga 111
       
        //imposto latitudine e longitudine della zona prestabilita
        LatLng mistrorighi = new LatLng(45.5705311, 11.2504105);
       
        //impostostazioni Camera Position
        CameraPosition cameraPosition = new CameraPosition.Builder()
        .target(mistrorighi) //zona prestabilita
        .zoom(12) //livello zoom
        .bearing(90) //orientamento
        .tilt(45)//angolo di visualizzazione
        .build();
       
        CameraUpdate cameraUpdate = CameraUpdateFactory.newCameraPosition(cameraPosition);
        mMap.animateCamera(cameraUpdate);
       
        //abilito la visualizzazione della mia posizione
        mMap.setMyLocationEnabled(true);
       
        //imposto la infowindow al click su un marker
        mMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
               
                @Override
                public void onInfoWindowClick(Marker marker) {
                        LatLng position = marker.getPosition();
                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("google.streetview:cbll=" + position.latitude + "," + position.longitude + "&cbp=1,0,,0,1&mz=21"));
                        startActivity(intent);
                }
        });
        }
       
        //imposto le 3 visualizzazioni della mappa
        public void mostraMappa (View button) {
                mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
        }
       
        public void mostraSatellite (View button) {
                mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
        }
       
        public void mostraTraffico (View button) {
                mMap.setTrafficEnabled(!mMap.isTrafficEnabled());
        }
}

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema con creazione mappe
« Risposta #11 il: 02 Dicembre 2013, 20:20:47 CET »
0
Potrebbe essere mf ad essere null.

Prova ad aggiungere un Log.d al rigo sopra, e vedi cosa dice il LogCat dell'esecuzione:
Codice (Java): [Seleziona]
if (mf==null) Log.d("TAG","mf = null");
mMap = mf.getMap();
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline birbantello85

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY ACE PLUS
  • Play Store ID:
    birbantello85
  • Sistema operativo:
    ANDROID 2.3.6
Re:Problema con creazione mappe
« Risposta #12 il: 02 Dicembre 2013, 20:39:24 CET »
0
Potrebbe essere mf ad essere null.

Prova ad aggiungere un Log.d al rigo sopra, e vedi cosa dice il LogCat dell'esecuzione:
Codice (Java): [Seleziona]
if (mf==null) Log.d("TAG","mf = null");
mMap = mf.getMap();

Nel frattempo ho provato a riscrivere l'activity anche seguendo la documentazione ufficiale.

Questo è il nuovo logcat con tutti gli errori trovati:

Codice (Java): [Seleziona]
12-02 20:33:55.659: E/Trace(3364): error opening trace file: No such file or directory (2)
12-02 20:34:05.969: E/AndroidRuntime(3364): FATAL EXCEPTION: main
12-02 20:34:05.969: E/AndroidRuntime(3364): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.giancarlo.gruppolevoci/com.giancarlo.gruppolevoci.MappaActivity}: java.lang.NullPointerException
12-02 20:34:05.969: E/AndroidRuntime(3364):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2308)
12-02 20:34:05.969: E/AndroidRuntime(3364):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
12-02 20:34:05.969: E/AndroidRuntime(3364):     at android.app.ActivityThread.access$600(ActivityThread.java:153)
12-02 20:34:05.969: E/AndroidRuntime(3364):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
12-02 20:34:05.969: E/AndroidRuntime(3364):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-02 20:34:05.969: E/AndroidRuntime(3364):     at android.os.Looper.loop(Looper.java:137)
12-02 20:34:05.969: E/AndroidRuntime(3364):     at android.app.ActivityThread.main(ActivityThread.java:5227)
12-02 20:34:05.969: E/AndroidRuntime(3364):     at java.lang.reflect.Method.invokeNative(Native Method)
12-02 20:34:05.969: E/AndroidRuntime(3364):     at java.lang.reflect.Method.invoke(Method.java:511)
12-02 20:34:05.969: E/AndroidRuntime(3364):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
12-02 20:34:05.969: E/AndroidRuntime(3364):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
12-02 20:34:05.969: E/AndroidRuntime(3364):     at dalvik.system.NativeStart.main(Native Method)
12-02 20:34:05.969: E/AndroidRuntime(3364): Caused by: java.lang.NullPointerException
12-02 20:34:05.969: E/AndroidRuntime(3364):     at com.giancarlo.gruppolevoci.MappaActivity.onCreate(MappaActivity.java:32)
12-02 20:34:05.969: E/AndroidRuntime(3364):     at android.app.Activity.performCreate(Activity.java:5104)
12-02 20:34:05.969: E/AndroidRuntime(3364):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
12-02 20:34:05.969: E/AndroidRuntime(3364):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2262)
12-02 20:34:05.969: E/AndroidRuntime(3364):     ... 11 more

Offline Gc24

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy GT-I9300
  • Sistema operativo:
    Windows 7
Re:Problema con creazione mappe
« Risposta #13 il: 02 Dicembre 2013, 20:53:40 CET »
0
beh aspetta, rileggendo meglio il tuo codice, il fragment manager non ti dà un oggetto MapFragment
prova a usare il SupportMapFragment, che ottieni creando un FragmentManager nella tua classe, come avevi fatto, e da quello ti prelevi PRIMA il SupportMapFragment e da quest'ultimo la mappa stessa

Codice (Java): [Seleziona]
FragmentManager fm = this.getSupportFragmentManager();
                   
SupportMapFragment smf = (SupportMapFragment) fm.findFragmentById(R.id.mapfragment);
                   
GoogleMap tuamappa = smf.getMap();



Offline birbantello85

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY ACE PLUS
  • Play Store ID:
    birbantello85
  • Sistema operativo:
    ANDROID 2.3.6
Re:Problema con creazione mappe
« Risposta #14 il: 03 Dicembre 2013, 13:58:56 CET »
0
beh aspetta, rileggendo meglio il tuo codice, il fragment manager non ti dà un oggetto MapFragment
prova a usare il SupportMapFragment, che ottieni creando un FragmentManager nella tua classe, come avevi fatto, e da quello ti prelevi PRIMA il SupportMapFragment e da quest'ultimo la mappa stessa

Codice (Java): [Seleziona]
FragmentManager fm = this.getSupportFragmentManager();
                   
SupportMapFragment smf = (SupportMapFragment) fm.findFragmentById(R.id.mapfragment);
                   
GoogleMap tuamappa = smf.getMap();

non vorrei dirlo a voce alta ma.....ha funzionato!!!  ;-)
Non so se c'è un tasto per il THANKS...comunque grazie!!