Sayfalar

19 Haziran 2014 Perşembe

ANDROİD'DE GOOGLE MAPS API V2 KULLANIMI

Merhaba arkadaşlar, Google Maps API v2 kullanımını anlatacağım. Maps API V1'de api key almak için MD5 kodunu kullanıyorduk. Maps API V2 için api key almak için SHA1 kodu ve oluşturduğumuz projenin paket ismini de kullanacağız. Şimdi api key almaya başlayalım.

İlk olarak cmd ekranını açarak SHA1 kodunu almamız gerek.  
Komut satırında windows için;
  
~keytool -list -v -keystore "C:\Users\Kullanıcıİsmi\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

komutunu yazıp entera basınca resimdeki gibi SHA1 kodunu göreceğiz.Bu kod ile https://code.google.com/apis/console adresine giderek api key alalım.





Services kısmından Map v2 seçeneğini on yapıyoruz.


Daha sonra Api Access kısmında api key oluşturuyoruz.


Create New Android Key seçeneğine basığ gelen ekranda önce SHA1 kodunu sonra paket ismini yazarak android keyimizi alıyoruz.



Create ile keyimizi almış olduk :)

Yeni Android projesi oluşturalım.

1-) İlk olarak İntellij İdea editöründe File>>New Project ile yeni bir proje oluşturuyoruz.

2-) Projeye gerekli iki kütüphaneyi ve modülü ekliyoruz. İki kütüphaneyi projeye manuel ekliyoruz öncelikle.



Project Structure kısmında +>>Library>>Java ile google-play-services.jar ve android-support-v4.jar kütüphanelerini ekliyoruz.

Daha sonra File>>İmport Module ile google-play-services-lib modülünü ekliyoruz ve bununla bitmiyor bu modülü projemize import ekmek için Project Structure kısmında +>>Module Dependency ile eklediğimiz modülü projemiz ile ilişkilendirmiş oluyoruz.

3-) Android manifest dosyasına

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

ekliyoruz. 

4-)Manifest dosyasına 

<permission android:name="com.example.Map.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.example.Map.permission.MAPS_RECEIVE" /> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <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" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  

izinlerini ekliyoruz.

5-)Şimdi layout kısmını düzenliyoruz. res>>layout>>main.xml e gidiyoruz.

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>

6-)MyActivity kısmında kodlamalarımızı yapalım.

package com.example.Map;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.widget.Toast;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;

public class MyActivity extends Activity {

    // Google Map
    private GoogleMap googleMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.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();
    }

}

Şimdi projeyi çalıştıralım:)


Kolay gelsin :)





Hiç yorum yok:

Yorum Gönder