0

First things first. I've been having a lot of trouble getting a map to be displayed. By this I mean that I've followed multiple tutorials, including the Google Maps V2 intro here. I read somewhere that I cannot test maps on emulators (elsewhere that I need another kind of custom emulator) so my process has been continually to use dropbox to install the app on my own phone. This may be relevant because i've just read here that the only way a map will work is if it's signed and installed through Google Play Store.

More to the problem, what I see when I view the app is and empty map with zoom controls. I've read in several places that this seems to be signing trouble. I've reread the whole process and after trying almost every possibility, I know I must know exactly what i'm doing first.

As I understand it there are two ways to get an app to work: debug or testing and release. I've signed the app with both keystores, having added them to the Google API Console as described in the tutorials. Both attempts bring about the same result: the empty map with zoom controls.

I will say this: there is a fair amount of, if not contradicting, ambiguous information about this whole process.

UPDATE

It's working now and I have now idea why. I will share my relevant files just in case it can help anyone else. These files are exact copy paste (minus relevant package names) from here.

MainActivity.java

package com.taveras.androidmapsv2;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
public class MainActivity extends Activity {

// Google Map
private GoogleMap googleMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    try {
        // Loading map
        initilizeMap();

    } catch (Exception e) {
        e.printStackTrace();
    }

}

/**
 * function to load map. If map is not created it will create it for you
 * */
private void initilizeMap() {
    if (googleMap == null) {
        googleMap = ((MapFragment) getFragmentManager().findFragmentById(
                R.id.map)).getMap();

        // check if map is created successfully or not
        if (googleMap == null) {
            Toast.makeText(getApplicationContext(),
                    "Sorry! unable to create maps", Toast.LENGTH_SHORT)
                    .show();
        }
    }
}

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

}

activity_main.xml

<?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>

AndroidManifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.taveras.androidmapsv2"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="18" />
<permission
    android:name="com.taveras.androidmapsv2.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />
<uses-permission android:name="com.taveras.androidmapsv2.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />
<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.taveras.androidmapsv2.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <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="AIzaSyDLKtTtTDxULNBvNLtGPvkEf6NNacs-42A" />
</application>

</manifest>

Thanks in advance for any leads. Ebichuhamster

Community
  • 1
  • 1
ebichuhamster
  • 228
  • 1
  • 12
  • follow this link step by step.it is very straight and easy. https://developers.google.com/maps/documentation/android/start#add_a_map –  Dec 26 '13 at 06:29
  • That's the same link i posted in OP. I will run through it once again just in case, but it was the first thing I tried. – ebichuhamster Dec 26 '13 at 06:34
  • please follow it again. it is only fair link. and not complicated as you think. –  Dec 26 '13 at 06:40

1 Answers1

1

sorry can't comment yet due to low rep, this link helped me a lot when i first started working with Google Maps V2. it has everything you need to get started as well as getting the api key.

usually a blank map is a problem with the signing process as you have read. try following the link it's very detailed.

also as far as i know you can run google maps on the emulator there are a lot of threads regarding this matter here on SO. (this thread for example)

Community
  • 1
  • 1
user2717267
  • 290
  • 3
  • 10
  • after revising, I think all the trouble was when I was getting the API key; I was using com.example instead of com.example.maps (maps would be my project name). I thought that using only com.example would 'cover' it's package identification. Thanks a lot to everyone. – ebichuhamster Jan 02 '14 at 20:25