[]

Android Java Map Api Lokasyon Sorunu ?

Merhaba uygulamam açıldığında harita geliyor ben haritada telefonun konumu görülsün istiyorum fakat yapmadım.

Ben buttona tıklanınca konumu alabilen bir kod yazdım ama onu uygulama ilk açıldığında çalıştıramıyorum.
Ne yapmalıyım onMapReady methodunun içine el ile enlem boylam girildiğinde oluyor fakat telefonun konumunu onMapReady içine alamıyorum.

`public class MapsActivity extends FragmentActivity implements OnMapReadyCallback,LocationListener {

FusedLocationProviderClient fusedLocationProviderClient;
private static final int REQUEST_CODE = 101;

private int izinKontrol;
private Button btn;
private TextView textone,texttwo;
private String konumSaglayici = "gps";
private LocationManager locationManager;

private GoogleMap mMap;
private double d, e;


@RequiresApi(api = Build.VERSION_CODES.M)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);

fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this);


locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

btn = findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

ff();


}
});

Log.e("ccc", "ccc");

textone = findViewById(R.id.r);
texttwo = findViewById(R.id.t);



// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);



}

public void ff(){

izinKontrol = ContextCompat.checkSelfPermission(MapsActivity.this, Manifest.permission.ACCESS_FINE_LOCATION);
if(izinKontrol != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(MapsActivity.this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION},100);

}else{

Location konum = locationManager.getLastKnownLocation(konumSaglayici);
if(konum!=null){
onLocationChanged(konum);
}else{
textone.setText("Konum Aktif DEĞİL :");
texttwo.setText("Konum Aktif DEĞİL :");

}


}

}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == 100){
izinKontrol = ContextCompat.checkSelfPermission(MapsActivity.this, Manifest.permission.ACCESS_FINE_LOCATION);


if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
Toast.makeText(getApplicationContext(), "Kayıt Başarılı", Toast.LENGTH_LONG).show();


Location konum = locationManager.getLastKnownLocation(konumSaglayici);
if(konum!=null){
onLocationChanged(konum);
}else{
textone.setText("Konum Aktif DEĞİL :");
texttwo.setText("Konum Aktif DEĞİL :");

}


}else{
Toast.makeText(getApplicationContext(), "olumsuz", Toast.LENGTH_LONG).show();

}
}
}




@Override
public void onLocationChanged(Location location) {
double enlem = location.getLatitude();
double boylam = location.getLongitude();





textone.setText("Boylam :"+enlem);
texttwo.setText("Enlem :"+boylam);

LatLng sydneya = new LatLng(enlem, boylam);
mMap.addMarker(new MarkerOptions().position(sydneya).title("QAROCOsss"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydneya));
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
mMap.animateCamera(CameraUpdateFactory.zoomTo(15.0f));
}

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {

}

@Override
public void onProviderEnabled(String provider) {

}

@Override
public void onProviderDisabled(String provider) {

}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;


// Add a marker in Sydney and move the camera

mMap.animateCamera(CameraUpdateFactory.zoomTo(16.0f));


}
}
`

 
Map kullaniyorsan, mevcut konumu LocationServices'ten almana gerek yok. hatta yapmamalisin. GoogleMap bunu senin yerine herhangi bir izin istemeden yapiyor zaten. GoogleMap'i ilk initialize ederken map.setMyLocationEnabled() methodunu kullanarak, mevcut konumunu haritada gosterebilirsin.


  • crucio  (02.01.20 13:38:20 ~ 13:39:09) 
Merhaba efendim yapamadım nasıl yapacağımı anlatırmısın kısaca lütfen ?
onMapReady methodunun içine

mMap.setMyLocationEnabled(true);
şeklinde koydum.Fakat olmadı.
  • aristotelesin berberi  (02.01.20 16:19:50) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.