Indoor Atlas: Get checkpoint list created - ios

I just analysed on IndoorAtlas and tried the sample application using ios SDK. I got my location to be updating in the floor plan I have created when I move around.
I was wondering how should I get message when I reached a point where I have created a checkpoint within the floor. How should i notify user when I reach a place that I have created in floor plan.
I have checked if any function available in IndoorAtlas ios SDK so that I can get list of checkpoints available in that Floor.
Please let me know if there is any function or property available to get those done.
Thanks in advance.

the waypoints you use for mapping are at the moment just for the mapping purpose with MapCreator2, there's no API for fetching those and using for e.g. the use you describe. For that use case you could do for example geofencing.
BR,
Elina, IndoorAtlas

Related

Problem with recalculating route too often

We are using Here SDK for native iOS App. We are testing application in US, and while driving on the highway, application attempts to recalculate when near every highway exit or access road even though we stayed on the highway. Probably this is connected with GPS inaccuracy. Probably position manager thinks that we are not on highway but on highway access road. We found in documentation that setting "mapMatchingEnabled" to true should help but it didn't. We checked Here Maps application and looks that it works better.
This is how we use Here SDK:
let dataSource = NMADevicePositionSource()
dataSource.setPositioningMethod(.GPS)
let manager = NMAPositioningManager.sharedInstance()
manager.dataSource = devicePositionSource
manager.mapMatchMode = .car
manager.mapMatchingEnabled = true
Does anyone have any idea how to resolve this problem? Any help will be appreciated.
The map matching is automatically enabled during navigation and there are different causes for map matching errors.
One of them is insufficient map data because of a sketchy GPS position. You can pre-fetch the map data along the route using NMAMapDataPrefetcher.fetchMapDataForRoute before navigation is started.
Antother possibility is that you can enable the enhanced map matcher - NMAApplicationContext.enableEnhancedMapMatcher

Reading parameters from DJI drone

I have to make an iOS application for DJI family of drones, in Swift.
I went to the official web page, successfully integrated the SDK via CocoaPods, but I do have couple of questions:
How to get the current altitude of the aircraft?
How to get the current distance?
How to get the current speed?
Is there any way to read the internal memory size of the aircraft and what's the remaining space?
I've also managed to get the GPS signal via DJIFlightControllerState
Here's the link to the method for Altitude
To get the distance between the aircraft and some other point (ie the RC or Homepoint) you will need to get the Latitude and Longitude of all the points and use your own logic to calculate the distance from each. You can check out the Android Location class to accomplish this. Or you can use a widget in our UXSDK: DUXDistanceRCWidget
or the DUXDistanceHomeWidget
To get the speed of the aircraft is a similar concept - you can use our method getVelocity under FlightControllerState class for X,Y,Z and calculate the speed. Or again, we have a velocity widget in our UXSDK
To get memory size of your SD card you can look at the class mediaFile however information on the memory of the drone itself is not made available.

Xamarin Android: Difference between GPSProvider and NetworkProvider

I am trying to get geolocation in my Xamarin Android app using LocationManager.
When i used GPSProvider as the location provider, OnLocationChanged didnt execute. Then i tried NetworkProvider and OnLocationChanged did executed and i could find the geo location.
What is the difference between GPSProvider and NetworkProvider and which will be more reliable?
GPS might not have given you any location, because when you are indoors, the signal can go from very bad to unavailable. Use FusedLocation as it manages the providers and will use the one that gives the best location at any given time. If you are indoors, it will use the Networkprovider. If you are outdoors it will use the GPSProvider
If you don't wanna use FusedLocation (needs google play configuration) you can try GetBestProvider then the device will select the best provider for a criteria
Documentation and code sample here

What is best practice to constantly receive coordinates

I am kind of new to programming and wanted to know what would be the best way to get data from server? To be more specific my app receives GPS coordinates from server (currently using Alamofire) and then shows them on the map.
Now, I don't know how keep those coordinates updated on device. Should I make loop, where app downloads coordinates from server, let's say, every 5 seconds and shows them on the map? Should loop interval be longer? Ideally I would like if an app could show live location - that is get updates from server every second.
Maybe there is library for my specific problem? Where could I read more about this?
And I could upload some of my code, but now it simply get data inviewDidLoad using Alamofire and show it on map.
EDIT: Why do I keep getting down votes? Seriuosly, I would like to know what I did wrong.
Best way is to use socket programming and listen particular socket where coordinates will be pushed from server. Rather than pulling periodically this will be push mechanism where server will push from it's side whenever it has new coordinate available ...
Here is the Apple's guide line for the same
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/NetworkingTopics/Articles/UsingSocketsandSocketStreams.html#//apple_ref/doc/uid/CH73-SW4
If this seems like too much you can use pubnub library for ios which is free for 100 devices
Here is the link
https://www.pubnub.com/

Finding current region with lat long in offline mode

I am currently working on an app which requires the current region in which the user is in.The worst part is app is completely off line.
My logic :
1.Take a screen shot of the city draw squares on that.
Store square 4 points (lat long values taken with respect to map) in DB.
With the lat long values got from gps i can easily find out lat lont belongs to what reason.
I am just wondering if anybody can suggest me better idea to work my app offline.
Thank you in advance ..
You will probably find you have problems getting a location if you have no network access. iOS uses assisted-GPS, which allows the device to both lock onto GPS satellites much faster than it might otherwise take, and also pull in other data from the network to quickly determine location.
Without network access you may not get a location reported back at all, especially if the app was being used indoors (vanilla GPS reception is typically very bad without line of sight). If you do get a location it may take several minutes for an accurate enough reading to be provided.
you can use the RouteMe library which is based on OpenStreetMap. this allows to download map data in advance.
If you want to work with screenshots (from a legal source) then you use the Helmert transformation to transform between gps and picture-pixel coordinazes.
you need at least 3 points in the picture-map for which you now the lat,lon coordinates.

Resources