【发布时间】:2014-04-22 16:19:16
【问题描述】:
我正在尝试确定当前的地理位置,我使用了以下代码,但到目前为止我没有得到任何东西:
public class Activity_map extends FragmentActivity implements LocationListener {
public double latituteField;
public double longitudeField;
private GoogleMap map;
private LocationManager locationManager;
LatLng pos;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gmap);
loc ationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
provider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);
if (location != null) {
System.out.println("Provider " + provider + " has been selected.");
onLocationChanged(location);
map.addMarker(new MarkerOptions().position(pos).title("MY POSITION").snippet("GPS")
.draggable(true));
} else {
latituteField=0;
longitudeField=0;
}
FragmentManager myFragmentManager = getSupportFragmentManager();
SupportMapFragment myMapFragment
= (SupportMapFragment)myFragmentManager.findFragmentById(R.id.map);
map = myMapFragment.getMap();
}
@Override
protected void onResume() {
super.onResume();
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,5000,10,this);
}
@Override
protected void onPause() {
super.onPause();
locationManager.removeUpdates(this);
}
public void onLocationChanged(Location location) {
double lat = (double) (location.getLatitude());
double lng = (double) (location.getLongitude());
pos= new LatLng(lat,lng);
}
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
public void onProviderEnabled(String provider) {
Toast.makeText(this, "Enabled new provider " + provider,
Toast.LENGTH_SHORT).show();
}
public void onProviderDisabled(String provider) {
Toast.makeText(this, "Disabled provider " + provider,
Toast.LENGTH_SHORT).show();
}
}
问题是我没有得到任何标记.. 我试图这样做,但我有不止一个标记
public void onLocationChanged(Location location) {
double lat = (double) (location.getLatitude());
double lng = (double) (location.getLongitude());
pos=new LatLng(lat,lng);
map.addMarker(new MarkerOptions().position(pos).title("MY POSITION").snippet("GPS")
.draggable(true));
}
任何帮助将不胜感激,谢谢
【问题讨论】:
-
是的,我的地图没有任何问题
-
好的..请尝试我的答案..@choco
-
你确定你的 onLocationChanged() 被调用了吗???
标签: android google-maps gps geolocation