0
votes

I am trying to use Google Maps Api V2 and following all the steps in Android Google Maps Article

But after all steps, code is executed on my glaxy young with android 2.36 but blank map screen is displayed

My main activity code is

  protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.showmapactivity_layout);
FragmentManager myFragmentManager = getSupportFragmentManager();
SupportMapFragment mySupportMapFragment 
 = (SupportMapFragment)myFragmentManager.findFragmentById(R.id.map);
map = mySupportMapFragment.getMap();

//map = getFragmentManager().findFragmentById(R.id.map)).getMap();
Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
    .title("Hamburg"));
Marker kiel = map.addMarker(new MarkerOptions()
    .position(KIEL)
    .title("Kiel")
    .snippet("Kiel is cool")
    .icon(BitmapDescriptorFactory
        .fromResource(R.drawable.ic_launcher)));

// Move the camera instantly to hamburg with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15));

// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
}

Maifestfile code is

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

<uses-sdk
    android:minSdkVersion="10"
    android:targetSdkVersion="10" />

<permission
    android:name="com.archifiles.pointpakistan.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

<uses-permission android:name="com.archifiles.pointpakistan.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<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="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.archifiles.pointpakistan.SplashScreenActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".MainActivity"></activity>
    <activity android:name=".POIActivity"></activity>
    <activity android:name=".ShowMapActivity"></activity>

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="AIzaSyDe_pk7x98rwq2GTkaaUUv0K0Yri3TRPUA" />

    <uses-library  
   android:name="com.google.android.maps"  
   android:required="true" /> 

</application>

Layout file code

<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"
tools:context=".MainActivity" >

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

</RelativeLayout> 

No log traces are available in log cat.

2
pls post your layout xml file also.Shadow

2 Answers

0
votes

Actually you used SupportMapFragment. Like

SupportMapFragment gm;

  gm = ((SupportMapFragment)(getSupportFragmentManager().findFragmentById(R.id.map))).getMap();

So in xml file also you must use like this

      <fragment  
      android:id="@+id/map"
      android:name="com.google.android.gms.maps.SupportMapFragment"
      />

Hope it will work.

Remove this below line in your manifest

<uses-library  
 android:name="com.google.android.maps"  
 android:required="true" /> 
0
votes

This problem happen because of invalid key,generate a valid key and add your current package name at the end of the hashkey.

To get the key:

In the left navigation bar, click API Access.
In the resulting page, click Create New Android Key....

In the resulting dialog, enter the SHA-1 fingerprint, then a semicolon, then your application's package name. For example:

BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.mapexample

The Google APIs Console responds by displaying Key for Android apps (with certificates) followed by a forty-character API key, for

example:

AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Copy this key value. You will use it in the next step.

check this url.

https://developers.google.com/maps/documentation/android/start#obtaining_an_api_key