338
Indoor positioning SDK and API | Create indoor navigation and mapping app with tools for Android and IOS
COVID-19
Book a meeting

室内定位引擎,打造尖端应用

开始

开始的三个步骤

  1. 1.

    添加位置

    作为第一步,您需要创建目标位置的数字地图。在Navigine网站注册你的账户并创建一个新位置。使用室内地图创建添加子位置和上传平面图。

  2. 2.

    建立基础设施

    为了开始实施,你需要得到大约10蓝牙信标每1000平方米你的位置。这些信标必须均匀地部署,并通过室内地图绘制器连接到平面图上的位置。

  3. 3.

    集成SDK

    一旦设备部署完毕,地图上传完毕,即可开始开发自己的室内导航app。可以使用iOS/Android平台的Navigine SDK添加室内导航、推送通知和跟踪功能。

使用导航工具创建您的室内导航应用程序

我们易于使用的SDK和API使开发者能够在几天内将室内导航、推送通知和运动分析功能集成到他们的应用程序中。利用你的iOS和Android应用的高精度定位能力。

iOS SDK

Our platform is designed to support development of powerful iOS applications leveraging iBeacon technology

Android SDK

用最先进的室内定位解决方案增强您的Android应用程序。

易于集成和实现,开放的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);
}];
								
Show full code

// 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();
								
Show full code

现在注册并开始免费

演示 免费

  • 1 位置
  • 用户数无限
  • 可以使用所有的导航工具
开始

支持

我们提供24/7的技术支持,随时随地帮助您。

请随意提出任何问题或留下您的评论。

请将您的问题发送到 info@navigine.com

有问题吗?

请提出产品、方案和定位服务的问题。请提出询问,我们将向您回答。