1-) Eclipse açıp, sağ tıklayıp new Android Application Project diyerek projemizi oluşturalım, versiyonu 4.2.2 Google seçelim, ardından projeye sağ tıklayarak export deyip C:\Program Files\Java\jdk1.6.0\bin içine deneme.keystore dosyasını oluştur.
2-) Başlat Çalıştıra CMD yaz ardından CD ile C:\Program Files\Java\jdk1.6.0\bin git ve keytool -list -v -keystore deneme.keystore diyerek oluşturulan SHA1 keyfingerı alalım.
3-) https://cloud.google.com/console adresinden Create Project diyelim ve proje adımızı yazalım sms doğrulaması için Tel no isteyecektir. Telefona gelen sms teki kodu doğrulama kodu ekranına girin ve projenizi oluşturun. Açılan ekranda APIS & auth butonuna basalım. Listeden Google Maps Android API v2 yanındaki OFF butonuna basıp ON yapalım
4-) Ardından sol taraf menüdeki APIs altındaki Credential basalaım Public API access altındaki Create New Keye basalım açılan pencerede Adnroid Keye basalım ardından 2. adımda bulmuş olduğumuz SHA1 keyini ve projemizin package ismini arasına ; koyarak (Örneğin 45:B5:E4:6F:36:AD:0A:98:94:B4:02:66:2B:12:17:F2:56:26:A0:E0;com.example) yazıp tamam diyelim.
5-) Oluşturulan keyi alıp uygulamamızda kullanabiliriz.
6-) Eclipste import deyip C:\Program Files\Android\android-sdk\extras\google\google_play_services\libproject seçelim IsLibrary butonunu seçili yapıp ok diyelim ve android versiyonu 4.2.2 Google seçelim.
7-) 1. adımda oluşturduğumuz projenin android.manifest.xml dosyasına
application tag’i içine aşağıdaki kodu ekleyelim

8- manifest dosyasına application tagının dışına aşağıdaki kodları ekleyelim

   <uses -permission android:name="your.package.name.permission.MAPS_RECEIVE"></uses>
    <uses -permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses>  
    <uses -permission android:name="android.permission.INTERNET"></uses>
    <uses -permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses>
    <uses -permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses>
    <uses -permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses>
   <uses -permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"></uses>
   <permission android:name="your.package.name.permission.MAPS_RECEIVE" android:protectionLevel="signature">
    </permission>
 

Daha sonra projemize sağ tıklayıp new class deyip adına MapsActivity yazarak aşağıdaki kodu kopyalayıp çalıştıralım

package your.package.name;

import java.util.Timer;
import java.util.TimerTask;

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.GoogleMap.OnMapClickListener;
import com.google.android.gms.maps.GoogleMap.OnMapLongClickListener;
import com.google.android.gms.maps.GoogleMap.OnMarkerDragListener;
import com.google.android.gms.maps.MapFragment;
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 com.google.android.gms.maps.model.Polygon;
import com.google.android.gms.maps.model.PolygonOptions;

import android.location.Location;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;

public class MapsActivity extends Activity implements OnMapClickListener, OnMapLongClickListener, OnMarkerDragListener {

	final int RQS_GooglePlayServices = 1;
	 private GoogleMap myMap;
	 
	 Location myLocation;
	
	 
	 boolean markerClicked;
	 PolygonOptions polygonOptions;
	 Polygon polygon;

	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_maps);
		
		   ActionBar actionBar = getActionBar();
	        actionBar.setSubtitle("Emrah KAHRAMAN");
	        actionBar.setTitle("emrahkahraman.com.tr"); 
	        actionBar.setDisplayHomeAsUpEnabled(true);
	        actionBar.setDisplayShowHomeEnabled(true);
	        actionBar.show(); 
	        
	        FragmentManager myFragmentManager = getFragmentManager();
	        MapFragment myMapFragment 
	         = (MapFragment)myFragmentManager.findFragmentById(R.id.map);
	        myMap = myMapFragment.getMap();
	        
	        myMap.setMyLocationEnabled(true);
	        
	        myMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
	        myMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(39.846042,32.909092), 13));
	        MarkerOptions marker=new MarkerOptions();
	        marker.position(new LatLng(39.846042,32.909092));
	        marker.title("Burdayım");
	        marker.snippet("Burası");
	        myMap.addMarker(marker);
	        myMap.setOnMapClickListener(this);
	        myMap.setOnMapLongClickListener(this);
	        myMap.setOnMarkerDragListener(this);

	        markerClicked = false;
		
	}

	
	@Override
	 public boolean onOptionsItemSelected(MenuItem item) {
	  switch (item.getItemId()) {
	     case R.id.map:
	      String LicenseInfo = GooglePlayServicesUtil.getOpenSourceSoftwareLicenseInfo(
	        getApplicationContext());
	      AlertDialog.Builder LicenseDialog = new AlertDialog.Builder(MapsActivity.this);
	      LicenseDialog.setTitle("Legal Notices");
	      LicenseDialog.setMessage(LicenseInfo);
	      LicenseDialog.show();
	         return true;
	     }
	  return super.onOptionsItemSelected(item);
	 }

	 @Override
	 protected void onResume() {

	  super.onResume();

	  int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext());
	  
	  if (resultCode == ConnectionResult.SUCCESS){
	   Toast.makeText(getApplicationContext(), 
	     "isGooglePlayServicesAvailable SUCCESS", 
	     Toast.LENGTH_LONG).show();
	  }else{
	   GooglePlayServicesUtil.getErrorDialog(resultCode, this, RQS_GooglePlayServices);
	  }
	  
	 }

	 @Override
	 public void onMapClick(LatLng point) {
	  myMap.animateCamera(CameraUpdateFactory.newLatLng(point));
	  
	  markerClicked = false;
	 }

	 @Override
	 public void onMapLongClick(LatLng point) {
	  myMap.addMarker(new MarkerOptions()
	       .position(point)
	       .draggable(true));
	  
	  markerClicked = false;
	 }

	 @Override
	 public void onMarkerDrag(Marker marker) {
	 }

	 @Override
	 public void onMarkerDragEnd(Marker marker) {
	 }

	 @Override
	 public void onMarkerDragStart(Marker marker) {
	  
	 }	 
}
Etiketler: ,

Yazar : Emrah Kahraman

Bilgisayar Mühendisi

Android GMaps V2 Örnek Proje Yazısı için Yorum Yapabilirsiniz

Kan Bağışı
Sponsor
Alexa
Hakkımda
Bağlantılar