Hot answers tagged

24

I maintain the GPSTest app on Google Play, which is open-source on Github. I'm actively interested in adding Galileo support in the app, but to do this I need to know what IDs the Galileo satellites show up as in the Android platform. And, this requires that there be some agreement between Galileo hardware manufacturers of those IDs - see Is there an ...


15

The correct implementation is: public static void getLocation(double x0, double y0, int radius) { Random random = new Random(); // Convert radius from meters to degrees double radiusInDegrees = radius / 111000f; double u = random.nextDouble(); double v = random.nextDouble(); double w = radiusInDegrees * Math.sqrt(u); double t = ...


13

Implemented for Javascript: var r = 100/111300 // = 100 meters , y0 = original_lat , x0 = original_lng , u = Math.random() , v = Math.random() , w = r * Math.sqrt(u) , t = 2 * Math.PI * v , x = w * Math.cos(t) , y1 = w * Math.sin(t) , x1 = x / Math.cos(y0) newY = y0 + y1 newX = x0 + x1


13

A few ideas come to mind for building your geospatial programming credentials: Create a legacy of solutions and answers on GISse and Stack Overflow. You will notice that many people on GISse creatively and wisely use this forum to further their freelance work. Create a web page or blog to show potential employers what you know. Some of my favorites, and ...


11

Google has built their own vector map rendering engine based on OpenGL ES version 2: https://developers.google.com/maps/documentation/android/start#requiring_opengl_es_version_2 Here's a link about OpenGL ES on Android: http://developer.android.com/training/graphics/opengl/index.html OpenGL lets you leverage the underlying power of the GPU and get ...


11

In short, yes - differential GNSS is now possible on Android, and, as of Android P (on supported devices), real-time kinematic (RTK), or carrier-phase measurements, are also possible. The May 2018 Google I/O video "How to get one-meter location-accuracy from Android devices (Google I/O '18)" has a really good high-level explanation of the current state on ...


10

After three weeks of learning about web maps I finally found answers to all of my questions. They will be more in the form of tutorial since this may help some other beginner. First I learned how standard tiling for EPSG:3857 works. It's nicely explained on http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/. Key thing is zoom factor ...


9

Ok, with some initial issues cleared out the task is relatively simple. Scale, prepresented as f.ex 1:50000 means that one unit on the map corresponds to 50.000 units in the real world. For a paper map printed a scale of 1:50000 this means that 1 meter on the map corresponds to 50.000 meters in the real world, or to make it easier: 1 cm on the map ...


9

I think the way that we create mapping applications is changing fast and the key to success in this industry is being ahead of that curve. For example 10+ years ago when we wanted a blog we get a shared hosting solution, download a blogging platform like Wordpress or Movable Type install it on the server, buy a domain name, install a theme, bang our head ...


9

Well, most people say OsmAnd is the best for Android. Lacking further details, I can't judge on your particular case. You need to know what features you want: an app for end users or for mappers? support for smartphone or tablet? online or (fully) offline? routing with different profiles? POI search, address lookup? open source / free / commercial app? ...


8

Maps.me has map viewing POI search and query, routing and navigation, and it can be used offline. Data is updated frequently and it is available for Android and iOS.


8

Yes, you can use custom tiles with Android Maps API v2 - you can see a fully working example in our OpenTripPlanner for Android app on Github. (You can also download the app directly from Google Play) We support the following tile providers: LyrkOpenStreetMap MapQuestOpenStreetMap Mapnik CycleMap Google (normal, satellite, hybrid, terrain) Our ...


7

For offline maps using OSM data i find three libraries very much useful. osmdroid : I use this library if i have to work with tiles that are in mbtiles format that i generate using tilemill. There is a bonus library for routing called osmbonuspack that adds lots of routing and POI functionality to this library. mapsforge: I use this library when i need to ...


7

I've done exactly the same thing for the same purposes - creating GIS-based rock climbing guides using GPS points taken with a mobile phone. I collected my points using an iPhone and the iGIS app. What I liked about iGIS was its ability to read/write directly to shapefiles, so you can get your attribute schema all setup outside of the app. Screenshot of ...


7

My favorite app for doing these kinds of things is Locus map free. It can import KML file amongst many other formats, and can work completely offline. If you need a base map, you can either download it within the app (for a fee) or add your own data either in mbtiles, or one of the other myriad formats that it supports.


7

First of all, you need to create a map in "My Maps" (https://mapsengine.google.com/map/). You can import your kml there. You can find more information about the limitations in https://developers.google.com/maps/support/kmlmaps. After that, you can access the map you created from the Google maps app in your device.


7

Android GPS works native in hybrid apps, it just needs some settings within app. I'm absolute amateur with Android apps, I learned how to use Android Studio only for the purpose of writing hybrid Andriod app that uses Leaflet. Below are GPS related excerpts from my hybrid app that worked for me. Manifest: ... <uses-permission android:name="android....


6

You can use the saveAs polyfill developed by Eli Gry. It should work on Chrome for Android browser. Check the following example: <!DOCTYPE html> <html> <head> <title>Leaflet GeoJSON Example</title> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link ...


5

Accepted answer and derivatives didn't work for me. Results were very inaccurate. Correct implementation in javascript: function pointAtDistance(inputCoords, distance) { const result = {} const coords = toRadians(inputCoords) const sinLat = Math.sin(coords.latitude) const cosLat = Math.cos(coords.latitude) /* go a fixed distance in a ...


5

If you are 100% sure that requirements are not going to change, and you just need to store the coordinates of the points, then yes, go ahead and save the data in a MySQL database, as two double columns. But if there is even a little chance that the scope can increase, then I'll suggest that you spend some time setting up a PostGIS database and save the data ...


5

Some GPS hardware/subsystems in modern smartphones implement Kalman Filtering and sensor fusion. For example, this is the system log output (edited for relevant portions- full dump is here) from a Samsung Galaxy S3 with Android 4.3 after I fire up the LocationListener, when listening to the GPS_PROVIDER. Here you see the app (GPS Benchmark) listening for GPS ...


4

Android Location latitude and longitude are unprojected and use the WGS84 ellipsoid. Here's the source code for the Location Java class: https://github.com/android/platform_frameworks_base/blob/master/location/java/android/location/Location.java You can see there are multiple references to WGS84 in the code, especially surrounding the distance and bearing ...


4

In this case you might be more precise if you fine tune your points on a computer later. For example try to note the position of the point relatively to a tree or any other significant feature in the landscape. Anyway, even if you position your point perfectly at the right place, it is very likely that the user of your guide won't have a better GPS than ...


4

Assuming you mean Dijkstra: Spatialite has been ported to android. It includes implimentation of Dijkstra's Algorithm, and the A* Algorithm. It may help to familiarise yourself with the spatialite routing gui before you start trying to write routing queries in your android application.


4

I've only done this a couple of times, so I'm far from an expert. There's a bit more to getting it into collector. Your layers need to be shared as feature layers in ArcGIS online, and they need to be editable. I don't think you can share an mxd from ArcMap and have it available in Collector. The way I did it was to import a shapefile to Online, then ...


4

A ready-to-go solution can be the web service of http://extract.bbbike.org/, there you can define a boundingbox on an online map and choose many different output formats for OSM based maps. They also have mapsforge format there. Have not tried on my own so far, so I cannot give any information about size limit for downloads, like a whole continent or ...


4

You can use Opensourse JavaScript libraries like leaflet or Openlayers to create a web appilication using the maps created using QGIS with the help of GeoServer and load it into a webview in your android application. If you have only static data then you can use qgis2leaf plugin in QGIS to create a web map and load it to a webview


4

You get the coordinates of a Point with Point.getX() and Point.getY() which will be in the reference system of the existing Point. You can then use the GeometryEngine to reproject the point to get coordinates in the reference you want, e.g. Lat/Long. Below is an example of getting the Lat/Long of a tapped point on a Map: // get the point that was clicked ...


4

The problem is probably due to some 'corrupt' geometry issues (polygon and multipolygon features in line or polygon layers). See the answer in the following thread: Gpkg and shapefiles behave differently (gpkg is not visible) in QField offline editing mode Thank you Matthias ;-)


4

For Android, we looked into this a few years ago (circa 2014): https://github.com/CUTR-at-USF/OpenTripPlanner-for-Android/issues/356 We ended up just using raster tiles, but we were looking at the below tools to potentially do vector rendering at that time: Mapzen Vector Tile service - https://github.com/tilezen/vector-datasource/wiki/Mapzen-Vector-Tile-...


Only top voted, non community-wiki answers of a minimum length are eligible