CodeforLife
دوشنبه 22 آذر 1395, 14:52 عصر
سلام دوستان
من دارم برنامه ای می نویسم که google map رو نشون بده و با توجه به gps و موقعیت جغرافیایی نشون بده که من در آن واحد کجام ؟
میشه کمک کنید !!!
ممنونم از شما
CodeforLife
دوشنبه 22 آذر 1395, 15:27 عصر
باز هم سلا م من عض و طول جغرافیایی رو با Gps به دست آوردم حالا میخوام بدونم چه طور باید روی نقشه google map نمایش داد؟؟؟
لطفا کمک کنید
CodeforLife
دوشنبه 29 آذر 1395, 17:30 عصر
با سلام دوستان من موفق شدم ای کد رو که می خواستم بنویسم
ولی متاسفانه یه مسئله ای هست
من روی نقشه که حرکت میکنم هر بار بعد از یه مدت دوباره همون جای قبلی رو نمایش میده !!!
یعنی میاد روی location ای که در حال حاضر هستم !!!
کد رو می گذارم اگر نظری داشتید بگین ممنون
public class MapsActivity extends FragmentActivity implements LocationListener, OnMapReadyCallback {
private GoogleMap googleMap;
Location location;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!isGooglePlayServicesAvailable()) {
finish();
}
setContentView(R.layout.activity_maps);
SupportMapFragment supportMapFragment =
(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id. map);
googleMap = supportMapFragment.getMap();
googleMap.setMyLocationEnabled(true);
LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
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) {
ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION} , 1);
} else {
Criteria criteria = new Criteria();
String bestProvider = locationManager.getBestProvider(criteria, true);
location = locationManager.getLastKnownLocation(bestProvider) ;
if (location != null) {
onLocationChanged(location);
}
locationManager.requestLocationUpdates(bestProvide r, 20000, 0, this);
}
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
// mapFragment.getMapAsync(this);
}
@Override
public void onLocationChanged(Location location) {
double latitude = location.getLatitude();
double longitude = location.getLongitude();
LatLng latLng = new LatLng(latitude, longitude);
// googleMap.addMarker(new MarkerOptions().position(latLng));
googleMap.moveCamera(CameraUpdateFactory.newLatLng (latLng));
googleMap.animateCamera(CameraUpdateFactory.zoomTo (16));
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
private boolean isGooglePlayServicesAvailable() {
int status = GooglePlayServicesUtil.isGooglePlayServicesAvailab le(this);
if (ConnectionResult.SUCCESS == status) {
return true;
} else {
GooglePlayServicesUtil.getErrorDialog(status, this, 0).show();
return false;
}
}
@Override
public void onMapReady(GoogleMap googleMap) {
this.googleMap = googleMap;
// Add a marker in Sydney and move the camera
//// LatLng sydney = new LatLng(-34, 151);
// 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;
// this.googleMap.setMyLocationEnabled(true);
//// this.googleMap.getUiSettings().setMyLocationButton Enabled(true);
// this.googleMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
// this.googleMap.moveCamera(CameraUpdateFactory.newL atLng(sydney));
}
}
این کدهام هست همراه comment ها لطفا راهنماییم کنید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.