Autore Topic: Mappa non viene disegnata  (Letto 2097 volte)

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Mappa non viene disegnata
« il: 21 Dicembre 2013, 20:32:17 CET »
0
ciao!
seguendo questa guida ero riuscito ad integrare le mappe di google nella mia app: https://developers.google.com/maps/documentation/android/start

adesso però succede che la mappa non viene disegnata.
in pratica compaiono i comandi, la scritta Google in basso a sinistra ma la mappa rimane beige.
questo il layout:
Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.MapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
questa l'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();
                initMap();
        }

        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));
        }
e nel manifest ho messo questo:
Codice: [Seleziona]
    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="19" />

    <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-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

<application>
................................
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyCT3wOU8eDnsUwtF0NkyH07WIdyrCXruvk" />
    </application>
quallche idea??

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Mappa non viene disegnata
« Risposta #1 il: 22 Dicembre 2013, 10:55:56 CET »
0
Di solito in questi casi in problema è relativo all'API key. Controlla di averla generata correttamente e controlla che stai firmando l'apk con il keystore al quale l'API key è associata.

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Mappa non viene disegnata
« Risposta #2 il: 22 Dicembre 2013, 11:45:32 CET »
0
Se avevi una key funzionante e L'hai cambiata,prova a rimuovere i dati dell'applicazione.

Inviato dal mio Nexus 4 utilizzando Tapatalk

IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Re:Mappa non viene disegnata
« Risposta #3 il: 22 Dicembre 2013, 15:52:49 CET »
0
ciao!

il fatto è che fino a un mese fa ha funzionato bene.
tutto a un tratto ha smesso di funzionare.
ho fatto varie modifiche alla app, ma mai nulla riguardo alle mappe.

l'api key non l'ho mai cambiata, è sempre stata la stessa.
proverò cmq a rigenerarla!

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Mappa non viene disegnata
« Risposta #4 il: 22 Dicembre 2013, 19:02:19 CET »
0
beh se ad esempio hai cambiato package all'app la key va rifatta, se hai reinstallato i tool di sviluppo o cambiato pc, va rifatta
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Re:Mappa non viene disegnata
« Risposta #5 il: 22 Dicembre 2013, 19:16:21 CET »
0
l'unica cosa che ho fatto è installare la nuova versione di eclipse.
ma l'sdk non l'ho reinstallato.
al massimo aggiornato.

Offline LinkOut

  • Utente normale
  • ***
  • Post: 272
  • Respect: +38
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Mappa non viene disegnata
« Risposta #6 il: 23 Dicembre 2013, 08:35:42 CET »
0
Ciao,
Usando il telefono per debuggare ma presumo anche l'emulatore... Gli errori sono dettagliati...

Controlla gli errori nella console dedicata... (Dove ti vengono mostrate tutte le operazione che sta facendo il device)

Come detto sopra, anche secondo me è un problema relativo alle API. Quando una mappa non viene visualizzata e rimane a sfondo grigio è sempre colpa delle API. Se così fosse, tale errore lo vedresti nella console... Prova a rifare la chiave API.

Saluti :)

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Re:Mappa non viene disegnata
« Risposta #7 il: 24 Dicembre 2013, 15:32:12 CET »
0
ma in verità sull'emulatore ho sempre avuto problemi, anche quando sul cellulare funzionava bene.
questo quello che ho sull'emulatore:
Codice: [Seleziona]
12-24 09:30:37.834: E/AndroidRuntime(859): FATAL EXCEPTION: main
12-24 09:30:37.834: E/AndroidRuntime(859): Process: com.mp.banca, PID: 859
12-24 09:30:37.834: E/AndroidRuntime(859): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mp.banca/com.mp.banca.ActivityMap}: java.lang.NullPointerException
12-24 09:30:37.834: E/AndroidRuntime(859):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176)
12-24 09:30:37.834: E/AndroidRuntime(859):         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
12-24 09:30:37.834: E/AndroidRuntime(859):         at android.app.ActivityThread.access$700(ActivityThread.java:135)
12-24 09:30:37.834: E/AndroidRuntime(859):         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
12-24 09:30:37.834: E/AndroidRuntime(859):         at android.os.Handler.dispatchMessage(Handler.java:102)
12-24 09:30:37.834: E/AndroidRuntime(859):         at android.os.Looper.loop(Looper.java:137)
12-24 09:30:37.834: E/AndroidRuntime(859):         at android.app.ActivityThread.main(ActivityThread.java:4998)
12-24 09:30:37.834: E/AndroidRuntime(859):         at java.lang.reflect.Method.invokeNative(Native Method)
12-24 09:30:37.834: E/AndroidRuntime(859):         at java.lang.reflect.Method.invoke(Method.java:515)
12-24 09:30:37.834: E/AndroidRuntime(859):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
12-24 09:30:37.834: E/AndroidRuntime(859):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
12-24 09:30:37.834: E/AndroidRuntime(859):         at dalvik.system.NativeStart.main(Native Method)
12-24 09:30:37.834: E/AndroidRuntime(859): Caused by: java.lang.NullPointerException
12-24 09:30:37.834: E/AndroidRuntime(859):         at com.mp.banca.ActivityMap.initMap(ActivityMap.java:41)
12-24 09:30:37.834: E/AndroidRuntime(859):         at com.mp.banca.ActivityMap.onCreate(ActivityMap.java:26)
12-24 09:30:37.834: E/AndroidRuntime(859):         at android.app.Activity.performCreate(Activity.java:5243)
12-24 09:30:37.834: E/AndroidRuntime(859):         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
12-24 09:30:37.834: E/AndroidRuntime(859):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
12-24 09:30:37.834: E/AndroidRuntime(859):         ... 11 more
la riga 41 è questa:
Codice: [Seleziona]
map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
pare che non trovi la mappa.

mentre sul cellulare ho solo il prolblema della mappa non disegnata.
« Ultima modifica: 24 Dicembre 2013, 15:39:49 CET da fermat »

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Mappa non viene disegnata
« Risposta #8 il: 24 Dicembre 2013, 17:56:30 CET »
0
sull'emulatore hai problemi perchè devi usare un emulatore con le google api.
Sul telefono è un problema di key o come ti ho detto di dati/cache da resettare
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Re:Mappa non viene disegnata
« Risposta #9 il: 24 Dicembre 2013, 18:40:03 CET »
0
si hai ragione.

allora ho settato bene l'emulatore.
adesso quando avvio l'activity con la mappa:
Codice: [Seleziona]
12-24 12:36:13.679: E/Google Maps Android API(1651): Google Maps Android API v2 only supports devices with OpenGL ES 2.0 and above
12-24 12:36:13.799: D/dalvikvm(1651): GC_FOR_ALLOC freed 325K, 9% free 4278K/4672K, paused 63ms, total 66ms
12-24 12:36:14.299: E/GooglePlayServicesUtil(1651): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
12-24 12:36:14.539: D/dalvikvm(1651): GC_FOR_ALLOC freed 267K, 7% free 4538K/4872K, paused 79ms, total 84ms
12-24 12:36:14.559: I/Choreographer(1651): Skipped 470 frames!  The application may be doing too much work on its main thread.
12-24 12:36:14.619: W/TextureView(1651): A TextureView or a subclass can only be used with hardware acceleration enabled.
12-24 12:36:14.939: D/dalvikvm(1651): GC_FOR_ALLOC freed 36K, 7% free 4567K/4884K, paused 113ms, total 115ms
12-24 12:36:14.939: I/dalvikvm-heap(1651): Grow heap (frag case) to 5.950MB for 1499536-byte allocation
12-24 12:36:15.029: D/dalvikvm(1651): GC_FOR_ALLOC freed 1K, 6% free 6030K/6352K, paused 88ms, total 88ms
non crasha, però rimane lo schermo nero.
l'emulatore è impostato sulle API 19, quindi in teoria dovrebbe andare no??

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Mappa non viene disegnata
« Risposta #10 il: 24 Dicembre 2013, 23:48:40 CET »
0
prova ad avviare su device e a guardare il logcat
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Re:Mappa non viene disegnata
« Risposta #11 il: 25 Dicembre 2013, 11:18:16 CET »
0
ciao!

il problema non era la API Key, ma la voce Android applications.
in sostanza lo sha1 da mettere insieme al package.

probabilmente lp dovevo ricreare dopo aver reinstallato eclipse:
Codice: [Seleziona]
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
mettendo lo sha1 creato, la mappa ha funzionato da subito.

grazie!!

Offline aledpa

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
Re:Mappa non viene disegnata
« Risposta #12 il: 22 Gennaio 2014, 11:58:37 CET »
0
ti funziona pure sull'emulatore?
io uso un emulatore 4.4 con google api e per generare la chiave ho usato sha-1:nome del package ma mi viene visualizzato sempre tutto grigio e sul logcat restituito l'errore:
 Google Maps Android API v2 only supports devices with OpenGL ES 2.0 and above

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:Mappa non viene disegnata
« Risposta #13 il: 22 Gennaio 2014, 12:06:26 CET »
0
Da quel che ricordo le Google Maps v2 non funzionano su emulatore, solo da dispositivo fisico.

Offline aledpa

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: 0
    • Mostra profilo
Re:Mappa non viene disegnata
« Risposta #14 il: 22 Gennaio 2014, 12:23:40 CET »
0
capito, lo proverò direttamente sul device allora, grazie