0

I have searched at many websites and googled it for showing map. I am new to android development.

This is my manifest file.

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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    <permission
        android:name="com.example.googlemap.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-permission android:name="com.example.googlemap.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <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
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

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

        <activity
            android:name="com.example.googlemap.MapActivity"
            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>

--> this is my mainactivity in which i have written this code for showing map n current location.

int status=GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext());

//Showing status
if(status!=ConnectionResult.SUCCESS){//Google playservices are not available

    int requestCode=10;
    Dialog d=GooglePlayServicesUtil.getErrorDialog(status, this, requestCode);
    d.show();
}
else{//Google playservices are available

    //Getting referance to SupportMap Fragment of activity_map.xml
    SupportMapFragment fm=(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);

    //Getting googlemap object from fragment
    googlemap=fm.getMap();

    //Enable Mylocation of google map
    googlemap.setMyLocationEnabled(true);

    //Getting locatinmanager object from System services LOCATION_SERVICE
    LocationManager locationmanager=(LocationManager) getSystemService(LOCATION_SERVICE);

    //Creating criteria object to retrive provider
    Criteria criteria=new Criteria();

    //Getting name of the best provider
    String provider=locationmanager.getBestProvider(criteria, true);

    //Getting currunt location
    Location location=locationmanager.getLastKnownLocation(provider);   

    locationmanager.requestLocationUpdates(provider, 20000, 0, this);
    if(location!=null){

        onLocationChanged(location);
    }
}

Thanks in advance.

Luciano Rodríguez
  • 2,239
  • 3
  • 19
  • 32

4 Answers4

0

You're missing the Google Play Services version tag in your Manifest's application tags:

<application>
...
    <meta-data android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
...
</application
Simas
  • 43,548
  • 10
  • 88
  • 116
0

This is the link from where you can get the exact answer what you want. i am sure it will help you out GoogleMap

Community
  • 1
  • 1
Gulnaz Ghanchi
  • 485
  • 3
  • 14
0

Your manifesto file should be look like this:

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

    <permission
        android:name="com.errorpoint.findlocation.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-permission android:name="com.errorpoint.findlocation.permission.MAPS_RECEIVE" />

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

    <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=".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="Key goes here" />
    </application>

</manifest>

And Layout file:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

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

</LinearLayout>

For more download my git app:

0
<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="your key" />
</application>

Please not "your key" above. You MUST add your key there.

Phuc Tran
  • 7,555
  • 1
  • 39
  • 27