How to find the user location using the cell tower in Android, or how to get the cell location based on the Cell ID in Android?
Asked
Active
Viewed 2.9k times
4 Answers
5
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;
}
}
-
3Using last known location can lead to very inaccurate results. Be careful. – Chris Stewart Mar 28 '12 at 17:41
-
Does this require GPS? – Samitha Chathuranga Mar 31 '15 at 06:15
-
this is required GPS? i want to get location without using GPS if any solution please provide solution. thanks – Ramesh Bhati Oct 23 '18 at 12:25
-
Where is cell tower information used in the solution? – Waqas Ahmed Ansari Nov 27 '19 at 05:51
3
Use the LocationManager to register for location updates. You indicate which level of granularity you want by specifying a provider. For cell tower updates, use the NETWORK_PROVIDER.

Cheryl Simon
- 46,552
- 15
- 93
- 82
2
and MyPositionOverlay is also here.....
public class MyPositionOverlay extends Overlay {
private final int mRadius = 5;
Location location;
public Location getLocation() {
return location;
}
public void setLocation(Location location) {
this.location = location;
}
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
Projection projection = mapView.getProjection();
if (shadow == false) {
// Get the current location
Double latitude = location.getLatitude()*1E6;
Double longitude = location.getLongitude()*1E6;
GeoPoint geoPoint;
geoPoint = new GeoPoint(latitude.intValue(),longitude.intValue());
// Convert the location to screen pixels
Point point = new Point();
projection.toPixels(geoPoint, point);
RectF oval = new RectF(point.x - mRadius, point.y - mRadius,
point.x + mRadius, point.y + mRadius);
// Setup the paint
Paint paint = new Paint();
paint.setARGB(250, 255, 0, 0);
paint.setAntiAlias(true);
paint.setFakeBoldText(true);
Paint backPaint = new Paint();
backPaint.setARGB(175, 50, 50, 50);
backPaint.setAntiAlias(true);
RectF backRect = new RectF(point.x + 2 + mRadius, point.y - 3*mRadius,
point.x + 65, point.y + mRadius);
// Draw the marker
canvas.drawOval(oval, paint);
//canvas.drawLines(pts, paint);
canvas.drawRoundRect(backRect, 5, 5, backPaint);
canvas.drawText("I am here", point.x + 2*mRadius, point.y, paint);
}
super.draw(canvas, mapView, shadow);
}
}
0
You can find LAC (location area code) From cell tower By API ericsson
https://labs.ericsson.com/apis/mobile-location/documentation

ohmrefresh
- 11
- 1
- 1