Pythontr

husonet | Tarih: 09.07.2015

Android Programlama Konum Lokasyon bulma

Android Programlama konum lokasyon işlemleri örnek kodlama

Android telefonlarımız üzerinde uygulamamıza gerekli izinleri verirsek konum bilgisini alabiliriz. Yazacağımız uygulamada konum bilgisini GPS ve NETWORK üzerinden duruma göre en konum bildiren yapılandırmayı yapacağız aslında bu yaptığımız işleme benzer olarak YANDEX bunu zaten uyguluyor. Çünkü GPS ne yazıkki kapalı ortamlarda çalışmamaktadır. Sizi daha fazla sıkmadan programlamaya geçmek istiyorum.


{reklam}

Öncelikle geçerli izinleri ANDROID kullanıcısından almak için AndroidManifest.xml içerisine yazalım.


    <uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

import edilecek paketler


import android.location.Address;
import android.location.Criteria;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationManager;


Geriye kalan kodlamamız ise aşağıdaki şekilde olmalıdır.



String bestProvider = null;
Geocoder geocoder = null;
List<Address> user = null;
double lati,longi;
LocationManager lm = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
criteria.setAltitudeRequired( false );
criteria.setBearingRequired( false );
criteria.setCostAllowed( true );
criteria.setPowerRequirement( Criteria.POWER_LOW );
bestProvider = lm.getBestProvider(criteria, true);
Location location = lm.getLastKnownLocation(bestProvider);
if (location == null){
Log.e("Error","CustomLocation Not found");
}else{
geocoder = new Geocoder(this);
try {
user = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
lati=(double)user.get(0).getLatitude();
longi=(double)user.get(0).getLongitude();
Log.e("Bilgi","enlem : "+lati);
Log.e("Bilgi","boylam : "+longi);
Log.e("Bilgi","adres : "+user);
}catch (Exception e) {
e.printStackTrace();
}
}