pythontr.com
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.
Ö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(); } }
Yorumlar
kodda hatalı yerler var bazı degıskenler kullanılmıs ama ne turden oldukları bellı degıl bilginize
Merhaba, Uyarınız için teşekkür ederiz. Gerekli düzeltmeler yapıldı.
Merhaba Hocam , Bu kodları andoid studioda nasıl derleyip çalıştırabiliriz? Örneği hastane kelimesini yazınca yakındaki hastaneleri gösterebilecek mi ? Şimdiden teşekkürler.
Merhaba,
Bu kod ile arama üzerinden lokasyon bulma işlemi yapamazsınız sadece kendi cihazınızla bulunduğunuz lokasyonun verilerinizi almanız için kullanabilirsiniz.
Hastane kelimesi yazınca yakındaki hastaneleri görmek için google map apilerini incelemenizi tavsiye ederim.
Kolay gelsin.