Hola
Creo que tienes que usar la localización por torres celulares,
algo como Skyhook; de alguna forma haces que tu modem te de un listado de las torres de las cuales tiene recepción y la intensidad, eso lo mandas a skyhook y ellos te dan una posición aproximada. Esa es la idea, pero nunca he trabajado con las APIs de skyhook o del modem.