I am able to get the geo plots of the land mass from the user and the requirement is to calculate the area of the land according to the plotted points.
I am unable to access the Google Maps in some Android phone and not able to calculate the area when I get geo plots in some phones.
For calculating area you can check this solution
You can also use This lib this is very useful for android GIS solution.
For some mobile which not showing google map it may be
Due to very poor internet connection
May be those devices have google services disabled.
Related
I am developing an Android application which has a turn-by-turn navigation between two locations. However, I've been struggling to make the navigation smooth.
I call Directions Api from Google API to retrieve the route and I've already displayed it on the map. When switching to turn-by-turn navigaton I just set the marker to the new location (also animating the marker) using location manager (using both course and fine location). Everything works fine although the gps and network provider have some innacurate locations as shown in the image in the link below.
Although does errors sometimes aren't too big ( for example the location is set at the sidewalk next to the street), I need the marker to be always following the polyline as long as the user is following the route, otherwise it will have to recalculate the route. Furthermore, as I calculate the bearing of the icon through the previous location and the new one, sometimes the icon does weird things.
I don't want to use any external library as the majority aren't free and the application won't be for personal use in a future.
My first idea was to check if the distance of my updated location to the polyline was bigger than x (say 5) in order to detect those errors. However, my application has to recalculate the route so this isn't a valid option.
I've read about Kalman algorithm to detect errors, but people say that gps internally already filters location using that algorithm.
So I need advice in order to fix those innacurate locations and make a smooth navigation as Mapbox or Google Maps or Uber does.
Link to image: https://ibb.co/n511We
Yellow line indicates the route I made and the purple circles are the inaccurate locations.
How to map in real time using indoor beacons on Android? Did tests using the SDK Estimote however, they do not have support for Android in indoor and do not have a method that returns the distance to the beacon.
With that, I'm using Alt SDK that returns me the distance.
But not her how to solve these doubts:
1) create a map (2D or 3D Google Maps type) with the location map of the inside of a room or shop for example.
2) show the location of the user's route to the beacon.
3) how to deal with the route to the beacon avoiding collision enters walls on the map?
4) how to locate the user's position in relation to beacons and know the position x, y or lat, long each beacon?
5) I saw this project trilateration but not your using to address the above questions.
6) need to use the GPS plus Bluetooth or just the Bluetooth solves?
I would recommend using one of the existing solutions, as this is a huge task that you're trying to achieve. I work for Proximi.io, that is a unified positioning platform. We provide beacon trilateration and showing your exact positioning on top of an indoor map based on that info. However, we don't have routing features. For that I would recommend checking out Steerpath, http://www.steerpath.com/. They specialize in beacon-based navigation, and deal with the wall issue.
Building an indoor navigation system is very complex. Beacon toolkits can tell you roughly how far you are from a stationary transmitter, but cannot tell you direction. It is just a tiny building block of a big system. A beacon is to an indoor navigation system as a brick is to a building.
You have brought up several important requirements and there are many others, including:
Building a system to record beacon positions in a known coordinate frame, and send them to your app
Transform beacon coordinate frame estimated positions to map coordinate frame for displaying a blue dot.
How to build such a system is simply beyond the scope of questions that can be answered properly on StackOverflow.
I am writing an app that has functionality to select GPS markers based off of their location. How is it possible to test whether a GPS coordinate falls within a given area? I already have the area data, available in GeoJSON, KML, and Shapefile. However, after browsing the api, I cannot find any method that tells me how to test if a point is within an area.
Thanks.
I currently have an app which displays a map fragment and can display navigation to a given point. The indoor maps is enabled and the building I'm trying to use does have indoor maps, but it only navigates to outside the building even when the transport mode is set to walking.
Is there currently any way to do this?
It seems that the Google Maps Android API does not support this feature for now.
Even if you select the correct travel mode, which should be walking, the route is traced on the nearest road and not on the indoor path.
I'm also waiting for this option to be released, since it is currently possible to get this outcome using Google's own Maps web app.
My graduate project is about indoor positioning when GPS is not available in android. The answer is yes, but there is not easy way. Hard way to do this but accuracy not good as good the GPS. There are two main approach to get location.
Approaches
1. Sensor-Fusion: This method for the get relative location. Using built-in sensors (gyroscope, accelerometer, compass) calculate the distance & direction over time. So you get the new location adding this value to old location. It also called dead-reckoning.
2. Wi-fi Signal Strength: If there are two or more a.p. which locations are known before, use the signal strengths to estimate your location. This idea a bit similar to how GPS works.
Weak Sides
1. Sensor-Fusion: Calculating new location error(e0) occur. When calculating next new location new error(e1) occurs again. So you get new location with e0+e1. I mean error groves exponentially over time.
2. Wi-fi Signal Strength: Some items can block the a.p. So you get weak signal strength and calculate wrong location.
Finally
I use first approach for short time(10sec). Second approach to correct location(every 10sec). So you get the best results for long & short time.
Source
Deeper explaination at this pdf.
open source android app using first approach.
I am currently in the research phase of my project on Android. I am interested in developing indoor custom maps application. There are 2 problems I am currently facing in this:
I can't use GPS as it won't work in the indoor settings like a building or a mall
I can't use Google Maps API as I need to show my location on a
indoor custom map(like a floor-plan of a building). I'm assuming here
that I have the custom map of the building or mall.
Now my goal is to find location of the Android phone using some methods and display it on the custom map.To find the location I have following options,
Use of Bluetooth dongles or transmitters, I am assuming that Bluetooth dongles or transmitters are kept at known locations on the custom map and I know the coverage area for all of them. I will use methods like RSSI to get nearest dongle from my Phone.The problem here is I don't know how do I use this information to plot the location of my phone on the map.I have heard of shape files for Windows Mobile which are used for this purpose.Don't know how I can make use of them in Android.
Use of WiFi Access Points - Similar to Bluetooth.But cost is more
than Bluetooth.
Can anyone please suggest some solutions to these problems.
Thanks.
What you are looking to do is create a GIS-type tool, not a map tool. Google Maps is for maps of known places and has data already built in for much of the world. I'm not aware of any GIS-support in Google maps for unknown places. While you can add layers to Google Maps (including your own GIS-type building map layer) I don't know that it will be of much help as you probably want to "zoom in" below the resolution that Google maps supports.
You can use Bluetooth or WiFi to locate the device, provided you have known end-points that you can identify the location of. In this case, I'd think you'd either need to estimate the location of the device (similar to how Google Maps draws a circle around the locator on the map when locating solely from wireless carrier towers). If you can detect the device at multiple doggles or transmitters I suspect you could triangulate to get a better fix.
Again, depending on your scale, you could use the built-in locator service with cell-tower location information, but I'm guessing that resolution is much to high for your application.
I got the workaround for plotting the dongle locations on the custom map using bluetooth.This is not the ideal answer but all I wanted was the approximate location of the device in a indoor setting.We can use the Android Bluetooth API to get RSSI readings from all the dongles and find the nearest dongle from the device.
Now to plot it on the custom map we can get an image of the map and overlay another marker image on the location coordinates(i.e using the pixel value of the dongle locations on the image).We can also add zooming functionality of the image to make it look like Google maps.We can also add ontouchlistener functions to add the functionality of clicking on the markers.
This is just the workaround I found.It wont give you the exact location of the device.If anyone wants the code please email to me.
Thanks,
Ameya