hello, I am already get cell id from the gsm_location function,
but I have a problem, because I got many different cell id in a same place, and a same cell id appear in a different place, how can I use those cell id to display my position! can anybody help me! thanks!!!!!
You can't, I'm sorry to say.
Just knowing the cell ID you are connected to (or even all nearby cell ID's) is not really useful to tell your position.
First you would have know where the cell's really are, physically (the base station's geographical coordinates).
The base station could be in any direction from where you are standing and you have no way of knowing where by the ID alone.
It could also be anywhere from a few meters from you up to several kilometers away depending on the situation.
The network operator has the info where the base stations are, what kind of antennas they have (strength, direction, width of its sector, etc.), and can combine that with things like network packet timing info, etc., to get an approximate position (sometimes within a few meters, but usually the accuracy is in the order of tens or hundreds of meters only, and outside cities even worse).
You can't (nobody can) do that with just the cell ID info available. It simply isn't enough.
Some network operators offer (sell for a fee) network based location data that you can use for applications and services. No operator I've ever heard gives out that info for free.
The easiest, most accurate and cheapest way to get your position is by using a Bluetooth GPS module (only a couple of phones with built in real GPS).
Take a look at [url]www.placelab.org[/url] they incorporate a p2p approach in order to combine cell-id and location. Nevertheless the given limitations regarding accuracy remain.