0

I have created a project for google maps showing particular location but the output displays only a blank page with zoom in and out buttons. I am posting my code below.Please help me out.Thank you.

AndroidManifest.xml

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

 <permission
    android:name="com.example.googlemapsv2.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-permission android:name="com.example.googlemapsv2.permission.MAPS_RECEIVE" />


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


 <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" />

<!-- Required to show current location -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<!-- Required OpenGL ES 2.0. for Maps V2 -->
<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.example.googlemapsv2.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" />

     <!-- Google API Key -->
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="API KEY" />


</application>

 </manifest>

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/map"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:name="com.google.android.gms.maps.MapFragment"/>

MainActivity.java

    package com.example.googlemapsv2;


    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.model.CameraPosition;
     import com.google.android.gms.maps.model.LatLng;
   import com.google.android.gms.maps.model.Marker;
    import com.google.android.gms.maps.model.MarkerOptions;

    import android.support.v7.app.ActionBarActivity;
    import android.support.v7.app.ActionBar;
     import android.support.v4.app.Fragment;
     import android.support.v4.app.FragmentActivity;
     import android.app.Activity;
       import android.os.Bundle;
     import android.view.LayoutInflater;
     import android.view.Menu;
     import android.view.MenuItem;
      import android.view.View;
     import android.view.ViewGroup;
      import android.widget.Toast;
      import android.os.Build;
        import android.app.Activity;


    public class MainActivity extends Activity
    {

        // Google Map
         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();

                double latitude = 19.990802;
                double longitude = 72.742234;

                CameraPosition cameraPosition = new CameraPosition.Builder()
                        .target(new LatLng(19.990802, 72.742234)).zoom(16).build();

                MarkerOptions marker = new MarkerOptions().position(
                        new LatLng(latitude, longitude)).title("Taj Mahal");
        //      googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
                googleMap.animateCamera(CameraUpdateFactory
                        .newCameraPosition(cameraPosition));

                // adding marker
                googleMap.addMarker(marker);

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

    }
Shailendra Madda
  • 20,649
  • 15
  • 100
  • 138

2 Answers2

0

If you are using eclipse go to Window->Preferences -> Android -> Build and generate a new api key for the SHA1 that you see in this window.

Put the new key in your manifest.

Probably you are using an api key for the apk. The keys are different between run/debug usage and apk deploy usage.

João Marcos
  • 3,872
  • 1
  • 19
  • 14
0

Make sure your API key is generated with SHA-1 key + package name mentioned in the android manifest file not but your actual package.

i.e., SHA-1+com.example.googlemapsv2

Shailendra Madda
  • 20,649
  • 15
  • 100
  • 138