【发布时间】:2010-12-26 05:41:13
【问题描述】:
我对获取位置有非常基本的了解。我的要求是在不启用 Wifi 或 Gps 的情况下获取 Cell Network Provider Location。我只需要根据 Cell Network Provider 获取位置。那可能吗?如果是的话,你能帮我一些代码sn-ps吗?我感谢您的帮助。谢谢。
【问题讨论】:
我对获取位置有非常基本的了解。我的要求是在不启用 Wifi 或 Gps 的情况下获取 Cell Network Provider Location。我只需要根据 Cell Network Provider 获取位置。那可能吗?如果是的话,你能帮我一些代码sn-ps吗?我感谢您的帮助。谢谢。
【问题讨论】:
看看这个帖子here
【讨论】:
class MyLocationActivity
extends MapActivity {
MapController mapController;
MyPositionOverlay positionOverlay;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MapView mapView = (MapView) findViewById(R.id.mapview);
mapController = mapView.getController();
// Configure the map display options
mapView.setSatellite(true);
mapView.setStreetView(true);
mapView.displayZoomControls(false);
mapController.setZoom(17);
// Add the MyPositionOverlay
positionOverlay = new MyPositionOverlay();
List<Overlay> overlays = mapView.getOverlays();
overlays.add(positionOverlay);
LocationManager locationmanager;
String context=Context.LOCATION_SERVICE;
locationmanager=(LocationManager) getSystemService(context);
String provider=LocationManager.NETWORK_PROVIDER;
Location location= locationmanager.getLastKnownLocation(provider);
updateWithNewLocation(location);
}
private void updateWithNewLocation(Location location) {
if(location!=null){
positionOverlay.setLocation(location);
Double lat=location.getLatitude()*1E6;
Double lon=location.getLongitude()*1E6;
GeoPoint point = new GeoPoint(lat.intValue(),lon.intValue());
mapController.animateTo(point);
}
else{
}
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
【讨论】: