A hornbook for Indoor Atlas positioning systems
Posted By : Jitendra Negi | 05-Apr-2017
Indoor atlas is the world’s first ubiquitous indoor positioning cloud platform that leverages geomagnetic technology. The software-only IPS requires no large-scale purchase, installation or maintenance of hardware to pinpoint a person’s location and “blue dot” delivers 1-2 meters accuracy. What’s more, this technology can utilize other technologies, such as WiFi, for even further optimization.
For more read the official android
docs-
http://www.indooratlas.com/how-it-works/
Here we will know about indoor positioning system. so now the time to create an example to see how its works. firstly need to create an account on https://app.indooratlas.com/. It's very easy to integrate with four simple steps.
1. Create location & add floor plan
2. Map location
3. Manage map data
4. Build app
for more details visit website- http://docs.indooratlas.com/app/
I am providing an example of integrating Indroor Atlas SDK 2.3 to an android app.
Add the IndoorAtlas SDK as a dependency to your project
Step 1:
Add this to your build.gradle file.
dependencies {
compile 'com.indooratlas.android:indooratlas-android-sdk:2.3.2@aar'
}
repositories{
maven {
url "http://indooratlas-ltd.bintray.com/mvn-public"
}
}
Step 2:
Add ApiKey and Secret Key to the Android manifest file
You have genrate these keys from https://app.indooratlas.com/ . To obtain these keys, you have to create a new app at IndoorAtlas Applications and generate an ApiKey and SecretKey for your application.
Step 3:
Add permission to Android manifest
Getting User Location Updates
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import com.indooratlas.android.sdk.IALocation;
import com.indooratlas.android.sdk.IALocationListener;
import com.indooratlas.android.sdk.IALocationManager;
import com.indooratlas.android.sdk.IALocationRequest;
public class LocationUpdatesActivity extends AppCompatActivity implements IALocationListener {
private static final String TAG = LocationUpdatesActivity.class.getName();
private IALocationManager mIALocationManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_location_updates);
mIALocationManager = IALocationManager.create(this);
mIALocationManager.requestLocationUpdates(IALocationRequest.create(), this);
}
// Called when the location has changed.
@Override
public void onLocationChanged(IALocation iaLocation) {
Log.d(TAG, "Latitude: " + iaLocation.getLatitude());
Log.d(TAG, "Longitude: " + iaLocation.getLongitude());
}
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
}
@Override
protected void onDestroy() {
mIALocationManager.destroy();
super.onDestroy();
}
}
THANKS
Cookies are important to the proper functioning of a site. To improve your experience, we use cookies to remember log-in details and provide secure log-in, collect statistics to optimize site functionality, and deliver content tailored to your interests. Click Agree and Proceed to accept cookies and go directly to the site or click on View Cookie Settings to see detailed descriptions of the types of cookies and choose whether to accept certain cookies while on the site.
About Author
Jitendra Negi
Jitendra is an Android application developer, specializing in native Android apps. He knows a lot about architecture, communications, jni material design and a lot of other things.