Soru & Cevap

Google Map V2 Çalışmıyor ...

09.06.2015 - 04:03

Merhabalar,

Yazdığım Android Uygulamasında gms V2 kullandım ve android eğitimin bölümünün ilgili başlığından yararlandım.

Ancak Uygulamayı bilgisayara telefon bağlı test ederken haritalar çalışıyor apk dosyası alıp telefona yüklediğimde haritalar çalışmıyor. Uygulamayı henüz play store da yayınlamadım play store dışından uygulama yüklemeye izin veren telefonumda çalıştırmak istiyorum. 

Bu konuyla ilgili izlenecek adımlar nelerdir.

Yardımlarınız için teşekkürler.

18 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-66405-1449241617.jpg
murat34can52
11.02.2016 - 08:10

Google Maps Android Nasıl Yüklenir Ve API Key Nasıl Alınır ?

Google maps nasıl yüklenir ?
Android SDK Kısmından > SDK Tools > Google Play Services tikliyoruz ve yüklüyoruz.

Bu api keyi de kullanmak için projenize dönün. api key oluşturmanın anlatımı aşağıdadır.
<application > bu tağların arasında en alta
    <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="api key nizi buraya yapıştırın" />
 </application>

gerekli olan izinleride ve library buradan ekleyebilirsiniz.

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

    <!-- Cihazdan Google Servislerine erişmek için izin -->
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

    <!-- İndirilenlerin tutulması için izinler -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- OpenGL ES 2.0 Google Maps Android API v2 için gerekiyor -->
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

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

İzinleri ekledikten sonra
build.gradle kısmında dependencies kısmına
compile 'com.google.android.gms:play-services:+' // ekleyin.

Bir activitiye eklemek için.
<fragment
                android:id="@+id/googlemaps"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                class="com.google.android.gms.maps.SupportMapFragment" />

ÖNEMLİ NOT : FRAGMENT OLARAK EKLİYORSANIZ class da extends activity yerine fragmentactivity yazmanız gerekiyor.

Google Maps Apı Key Nasıl Alınır ?
Bu linke gidiyoruz.
https://console.developers.google.com/apis/credentials

Credentials > New Credentials > API Key > Android Key 
Name kısmına herhangi isim daha sonra add package name and fingerprint butununa basıyoruz. 

Bizden package name ile sha-1 istiyor bunları şu şekilde dolduruyoruz.
package name sizin projenizin AndroidManifest kısmında
package="com.yolyardim.programmerdky.xxxx" yazıcaktır. 
com.yolyardim.programmerdky.xxxx kısmı yazıyoruz.

SHA-1 oluşturmak için bunun için cmd kullanıcağız.
Sha 1 oluşturulma sebebi apileri ayırabilmek ve sizin google maps kullanımınızın analizini almak için geliştirilmiş bir sistem.

1)cmd açalım sonra yazalım.
Projenizde hangi java kullanıyorsanız ona göre yazınız.
cd C:\Program Files\Java\jre1.8.X_XX\bin
2)android studionun bilgileri aldığı bir klasör bizim için orda "debug.keystore" var bunu kullanmamız gerekiyor. bu yüzden nereye yüklediyseniz onun yolunu belirtin genel olarak kullanıcılardan sonra .android klasöründedir..

keytool.exe -v -list -alias androiddebugkey -keystore C:\Users\ProgrammerDky\.android\debug.keystore -storepass android -keypass android


3) İşlem tamam enterleyin.
Size resimdeki gibi sha-1 kodu göstericek o kodu
Görsel kaldırıldı.
kodu sha-1 kısmına yapıştırın.

Create butonuna basarak api key nizi oluşturun.
Size verilen api key yukarda belirttiğim kısma yazınız.

ÖNEMLİ NOT :
API Key yaptıktan sonra sistem 5 dk bir güncellendiği için 5 dk sonra deneyebilirsiniz.

-------------------------------------------------

Örnek kod ile gösterme

GoogleMap googleHarita = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.googlemaps)).getMap();
// örnektir koordinatlar sallama girildi.
double latitud = 30.40400430; // Enlem
double longtud = 28.4939439; // Boylam
LatLng koordinat = new LatLng(latitud, longtud);
googleHarita.addMarker(new MarkerOptions().position(koordinat).title("Buradasın")); 
googleHarita.moveCamera(CameraUpdateFactory.newLatLngZoom(kordinat, 15)); // burdaki 15 zoom yakınlaştırmasıdır.