Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

I have created an Android Map API key for V2, can't display a map

I have created a Google API key for version two and used that in the manifest, but I'm unable to display map on the device.

I have followed everything provided in google map documentation. also I used this link.

MainActivity.java.

package com.example.googlenewmap;

    import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;

    import com.google.android.gms.maps.GoogleMap;
    import com.google.android.gms.maps.SupportMapFragment;
    import com.google.android.gms.maps.model.BitmapDescriptorFactory;
    import com.google.android.gms.maps.model.LatLng;
    import com.google.android.gms.maps.model.MarkerOptions;

    public class MainActivity extends FragmentActivity {
        static final LatLng HAMBURG = new LatLng(53.558, 9.927);
        static final LatLng KIEL = new LatLng(53.551, 9.993);
        private GoogleMap map;

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

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

            if (map != null) {
                map.addMarker(new MarkerOptions().position(HAMBURG)
                        .title("Hamburg"));
                map.addMarker(new MarkerOptions()
                        .position(KIEL)
                        .title("Kiel")
                        .snippet("Kiel")
                        .icon(BitmapDescriptorFactory
                                .fromResource(R.drawable.ic_launcher)));
            }

        }

    }

Manifest File

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

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

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

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

        <!-- Copied from Google Maps Library/AndroidManifest.xml. -->
        <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" />

        <!-- External storage for caching. -->
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

        <!-- My Location -->
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <!-- Maps API needs OpenGL ES 2.0. -->
        <!-- Maps API needs OpenGL ES 2.0. -->

        <uses-feature
            android:glEsVersion="0x00020000"
            android:required="true" />
        <!-- End of copy. -->

        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <uses-library android:name="com.google.android.maps" />
            <!--
             ** You need to replace the key below with your own key. **
             The example key below will not be accepted because it is not linked to the
             certificate which you will use to sign this application.
             See: https://developers.google.com/maps/documentation/android/start
             for instructions on how to get your own key.
            -->

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

            <activity
                android:name="com.example.googlenewmap.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>
        </application>

    </manifest>

How can I fix this problem?

like image 614
Michel Avatar asked Nov 13 '22 01:11

Michel


1 Answers

What key you are using?

There are two types of keys debug key and release key. While signing apk, you want to use release key. For that you want to compare that with signed apk

Step 1:

Say for example your apk name is A and you are signing and creating a keystore for A.apk ie A.keystore will be created in some drive location.Let's consider it in E drive.

step 2:

Now locate to jdk in C drive(Considering for windows and assigning C drive)

C:\Program Files\Java\jdk1.7.0\bin>keytool -list -v -keystore E:\A.keystore -alias A

So it will create SHA-1 finger print

Debug key is normal which you extract as usual.

like image 107
Shadow Avatar answered Nov 15 '22 11:11

Shadow