Картографическая платформа для создания приложения с функцией навигации внутри помещения
С чего начать?
-
1.
Добавить локацию
В качестве первого шага вам необходимо создать карту вашей целевой локации. Зарегистрируйте свою учетную запись на сайте Navigine и создайте новое местоположение. Добавьте план этажа, используя инструмент для создания карт внутри помещений.
-
2.
Настройка инфраструктуры
Для начала развертывания инфраструктуры, вам необходимо определить нужное количество биконов исходя из расчета установки: 10 BLE beacons на 1 000 кв.м площади локации. Эти биконы должны быть равномерно установлены и привязаны к местам на плане этажа с помощью редактора карты.
-
3.
Интеграция SDK
Когда оборудование будет установлено, карта загружена и на нее нанесена инфраструктура биконов, вы можете начать разработку своего приложения для indoor навигации. Вы можете использовать Navigine SDK на iOS / Android платформах для добавления навигации внутри помещения, реализации push-уведомлений, функций аналитики и трекинга.
Создайте приложение c indoor-навигацией, используя наши геолокационные инструменты
Наши простые в использовании SDK и API дают разработчикам возможность интегрировать функции indoor навигации, push-уведомлений и аналитики перемещений в свои приложения в течение нескольких дней. Воспользуйтесь преимуществами высокоточного позиционирования для приложений iOS и Android.
-
iOS SDK
Наша платформа предназначена для поддержки разработки передовых приложений на iOS с использованием технологии iBeacon.
-
Android SDK
Расширьте возможности навигации для Андроид приложения с помощью современных решений для позиционирования в помещении.
ЛЕГКАЯ ИНТЕГРАЦИЯ И ВНЕДРЕНИЕ, ОТКРЫТЫЙ API И ФУНКЦИОНАЛЬНЫЙ SDK
Читайте больше в Сообществе Разработчиков
// your personal security key in the profile
NSString *userHash = @"0000-0000-0000-0000";
// your API server
NSString *server = @"https://api.navigine.com";
NavigineCore *navigineCore = [[NavigineCore alloc] initWithUserHash:userHash server:server];
// location id from web site
NSInteger locationId = 1;
BOOL forced = YES;
// If YES, the content data would be loaded even if the same version has been downloaded already earlier.
// If NO, the download process compares the current downloaded version with the last version on the server.
// If server version equals to the current downloaded version, the re-downloading is not done.
[navigineCore downloadLocationById:locationId forceReload:forced processBlock:^(NSInteger loadProcess) {
NSLog(@"%zd",loadProcess);
} successBlock:^(NSDictionary *userInfo) {
[navigineCore startNavigine];
} failBlock:^(NSError *error) {
NSLog(@"%@",error);
}];
// Initializing Navigation library (USER_HASH is your personal security key)
if (!NavigineSDK.initialize(getApplicationContext(), USER_HASH, null)) Toast.makeText(this, "Unable to initialize Navigation library!", Toast.LENGTH_LONG).show();
// Download a location archive from the server
class LoadTask extends AsyncTask<Void, Void, Boolean>
{
@Override protected Boolean doInBackground(Void... params)
{
return NavigineSDK.loadLocation(LOCATION_ID, 30) ?
Boolean.TRUE : Boolean.FALSE;
}
@Override protected void onPostExecute(Boolean result)
{
if (result.booleanValue())
{
// Location is successully loaded
// Do whatever you want here, e.g. you can start navigation
NavigationThread navigation = NavigineSDK.getNavigation();
if (navigation != null)
navigation.setMode(NavigationThread.MODE_NORMAL);
}
else
{
// Error downloading location
// Try again later or contact technical support
Log.d(TAG, "Error downloading location!");
}
}
}
(new LoadTask()).execute();