Amir Aoucha نشر 13 أغسطس 2020 أرسل تقرير نشر 13 أغسطس 2020 السلام عليكم ورحمة الله وبركاته اريد الحصول على احداثياتي لكن انا احصل عليها فقط عندما افتح google map ولو مافتحته القيمة تكون null ماهي المشكلة هاذا الكود المستخدم client = LocationServices.getFusedLocationProviderClient(this); Task<Location> task = client.getLastLocation(); task.addOnSuccessListener(new OnSuccessListener<Location>() { @Override public void onSuccess(final Location location) { if (location != null) { double x=location.getLongitude(); double y=location.getLatitude(); } 1 اقتباس
0 Mohamd Imran نشر 13 أغسطس 2020 أرسل تقرير نشر 13 أغسطس 2020 السلام عليكم @Amir Aoucha يمكنك الحصول على إحداثيات موقعك هكذا بطريقة عامة Location currentLocation = LocationServices.FusedLocationApi.getLastLocation(googleApiClient); بالتفصيل نقوم بتعريف المتغيرات التالية ونقوم بعمل اوبجيكت من GoogleApiClient private GoogleMap mMap; private double longitude; private double latitude; private GoogleApiClient googleApiClient; الأن في ال onCreate ميثود (لا تنسى إضافة map view في الlayout) SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); //Initializing googleApiClient googleApiClient = new GoogleApiClient.Builder(this) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .addApi(LocationServices.API) .build(); والأن تأكد من الصلاحيات ,ونقوم بالحصول على الإحداثيات private void getCurrentLocation() { mMap.clear(); if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { return; } Location location = LocationServices.FusedLocationApi.getLastLocation(googleApiClient); if (location != null) { //Getting longitude and latitude longitude = location.getLongitude(); latitude = location.getLatitude(); //moving the map to location moveMap(); } } private void moveMap() { /** * * move the camera with animation */ LatLng latLng = new LatLng(latitude, longitude); mMap.addMarker(new MarkerOptions() .position(latLng) .draggable(true) .title("Marker in Country")); mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); mMap.animateCamera(CameraUpdateFactory.zoomTo(15)); mMap.getUiSettings().setZoomControlsEnabled(true); } اقتباس
السؤال
Amir Aoucha
السلام عليكم ورحمة الله وبركاته
اريد الحصول على احداثياتي لكن انا احصل عليها فقط عندما افتح google map ولو مافتحته القيمة تكون null ماهي المشكلة
هاذا الكود المستخدم
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.