I'm having trouble getting accurate GPS locations from the Google Maps API for use on Android?

I do something similar and have no trouble with inaccuracy. I suspect it's the way you are placing your crosshairs. I define mine in the main.

Xml using a Unicode character and pin it to the view centre using this snippet.

I do something similar and have no trouble with inaccuracy. I suspect it's the way you are placing your crosshairs. I define mine in the main.

Xml using a Unicode character and pin it to the view centre using this snippet: The centerInParent attribute guarantees that both the crosshairs and the mapview are using the same centre. The u25ce make a pretty good indicator for me. There are other ones that you might find better.

Update Well I update my app's info bar once per second with a handler. I added this test method to be called in the handler protected void backAndForth(MapView mv){ GeoPoint centreGpt = mv.getMapCenter(); int inLon = centreGpt. GetLongitudeE6(); int inLat = centreGpt.

GetLatitudeE6(); Point p = new Point(); mv.getProjection(). ToPixels(centreGpt, p); GeoPoint backGpt = mv.getProjection(). FromPixels(p.

X, p. Y); int outLat = backGpt. GetLatitudeE6(); int outLon = backGpt.

GetLongitudeE6(); String res = "In lat " + inLat + " In lon " + inLon + " Out lat " + outLat + " Out lon " + outLon; Log. D("POS_TAG", res); } The in and out coordinates match perfectly no matter how I pan and zoom. Using the reverse geocoder, jumping from Chicago to London to Berlin, I get output from the test method: In lat 41878113 In lon -87629798 Out lat 41878113 Out lon -87629798 In lat 41878113 In lon -87629798 Out lat 41878113 Out lon -87629798 In lat 51500152 In lon -126236 Out lat 51500152 Out lon -126236 In lat 51500152 In lon -126236 Out lat 51500152 Out lon -126236 In lat 51500152 In lon -126236 Out lat 51500152 Out lon -126236 In lat 52523405 In lon 13411399 Out lat 52523405 Out lon 13411399 In lat 52523405 In lon 13411399 Out lat 52523405 Out lon 13411399 In lat 52523405 In lon 13411399 Out lat 52523405 Out lon 13411399 I'm afraid you've got me stumped Update I changed my application to display 6 places of decimals from its normal 5 and chose an intersection of car park bays in a supermarket near me in London.

I did as you suggested and took screen shots at maximum zoom from my emulator at the start and after I'd panned and zoomed and panned back to the original place as close as I could without looking at the displayed Lat/Lon as I did it. These are typical results Start End 1 microdegree is only about 11 centimetres for change in latitude and about 6cm for change in longitude at this latitude, so I reckon this is pretty much within my ability to pan accurately. Google maps themselves seem to have bigger inherent display errors.

For example, the UK's mapping agency (The Ordnance Survey) maintains a number of triangulation points around the country. These are fixed by satellite reference on the WGS84 datum to within sub millimetric accuracy. They are normally quarter inch copper studs set into concrete.

One which we can correlate with a Google map view is at Ham trig point There's sketch of its location at: Sketch and a photo on this site (The bolt is under the dog's front right paw): Trig point photo If you look at a screen shot of my app geo fixing to that location You can see that Google has the spot as a good 6 feet beyond the edge of the jetty and would be in the water at high tide. In conclusion, I think that any errors I see in terms of repeatability are swamped by those inherent in Google's interpretation of a coordinate. This is probably to be expected as I know they use a simple spherical projection of the Earth's surface, rather than the more accurate ellipsoidal one on which GPS systems are based.

When we display the point originally, it looks perfect. After we change to another view and come back, the point is in a completely different location. Every time the point is displayed after that, it is in the same location.

We are using the same methods to display the points in both cases, so the problem seems to be in the way the API correlates the Map Center to pixels when the user is placing his points. – Bryan Rosander Mar 29 at 19:58 Just a thought, but the map centre probably won't be the screen width/2. Screenheight/2.It will correspond to mapView.getWidth()/2, mapView.getHeight()/2 though.

– NickT Mar 29 at 20:27 Right. That isn't the problem though. – Bryan Rosander Mar 29 at 20:35 Added some more info – NickT Mar 29 at 21:21 Could you: 1.

) pick a point based on a feature on the map, such as the paint around an intersection 2. ) log the last few significant figures of the GPS coordinate 3.) pan around a few times within the map tile 4. ) pan back to the original location 5.

) compare the location before and after panning If you are having the same problem that we are, your results should be off when you come back. – Bryan Rosander Mar 297 at 19:35.

We eventually replaced Google Maps with Bing Maps in our android application, using the Android SDK from InKnowledge. They are providing accurate GPS coordinates for the center of the map view, which we use to build polygons, polylines, and pushpin shapes.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions