@situm/cordova 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/CHANGELOG_UNRELEASED.md +28 -0
  3. package/Jenkinsfile +84 -0
  4. package/LICENSE +21 -0
  5. package/README.md +472 -0
  6. package/azure/common-steps.yaml +5 -0
  7. package/azure-pipelines.yml +336 -0
  8. package/docs/JSDoc/MapView.html +300 -0
  9. package/docs/JSDoc/MapViewControllerImpl.html +299 -0
  10. package/docs/JSDoc/Situm.html +5257 -0
  11. package/docs/JSDoc/android_Interfaces.js.html +825 -0
  12. package/docs/JSDoc/android_situm.js.html +380 -0
  13. package/docs/JSDoc/fonts/glyphicons-halflings-regular.eot +0 -0
  14. package/docs/JSDoc/fonts/glyphicons-halflings-regular.svg +288 -0
  15. package/docs/JSDoc/fonts/glyphicons-halflings-regular.ttf +0 -0
  16. package/docs/JSDoc/fonts/glyphicons-halflings-regular.woff +0 -0
  17. package/docs/JSDoc/fonts/glyphicons-halflings-regular.woff2 +0 -0
  18. package/docs/JSDoc/global.html +7538 -0
  19. package/docs/JSDoc/img/toast-ui.png +0 -0
  20. package/docs/JSDoc/index.html +90 -0
  21. package/docs/JSDoc/map-view-controller.js.html +307 -0
  22. package/docs/JSDoc/map-view.js.html +172 -0
  23. package/docs/JSDoc/scripts/jquery.min.js +2 -0
  24. package/docs/JSDoc/scripts/linenumber.js +30 -0
  25. package/docs/JSDoc/scripts/prettify/Apache-License-2.0.txt +202 -0
  26. package/docs/JSDoc/scripts/prettify/lang-css.js +2 -0
  27. package/docs/JSDoc/scripts/prettify/prettify.js +28 -0
  28. package/docs/JSDoc/scripts/tui-doc.js +200 -0
  29. package/docs/JSDoc/styles/bootstrap.min.css +6 -0
  30. package/docs/JSDoc/styles/custom.css +23 -0
  31. package/docs/JSDoc/styles/prettify-jsdoc.css +111 -0
  32. package/docs/JSDoc/styles/prettify-tomorrow.css +132 -0
  33. package/docs/JSDoc/styles/tui-doc.css +485 -0
  34. package/docs/conf.json +28 -0
  35. package/docs/getting-started.md +298 -0
  36. package/docs/imagotype-SITUM-transparent-90.png +0 -0
  37. package/docs/static/styles/custom.css +23 -0
  38. package/package.json +60 -0
  39. package/plugin.xml +102 -0
  40. package/scripts/update_changelog.sh +22 -0
  41. package/src/android/app/build.gradle +51 -0
  42. package/src/android/app/proguard-rules.pro +21 -0
  43. package/src/android/app/src/main/AndroidManifest.xml +11 -0
  44. package/src/android/app/src/main/java/es/situm/plugin/DateUtils.java +15 -0
  45. package/src/android/app/src/main/java/es/situm/plugin/PluginHelper.java +919 -0
  46. package/src/android/app/src/main/java/es/situm/plugin/SitumMapper.java +968 -0
  47. package/src/android/app/src/main/java/es/situm/plugin/SitumPlugin.java +109 -0
  48. package/src/android/app/src/main/res/drawable/ic_launcher_background.xml +170 -0
  49. package/src/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +34 -0
  50. package/src/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +5 -0
  51. package/src/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +5 -0
  52. package/src/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  53. package/src/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  54. package/src/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  55. package/src/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  56. package/src/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  57. package/src/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  58. package/src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  59. package/src/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  60. package/src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  61. package/src/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  62. package/src/android/app/src/main/res/values/colors.xml +6 -0
  63. package/src/android/app/src/main/res/values/strings.xml +3 -0
  64. package/src/android/app/src/main/res/values/styles.xml +11 -0
  65. package/src/android/app/src/test/java/es/situm/plugin/PluginHelperTest.java +27 -0
  66. package/src/android/app/src/test/java/es/situm/plugin/SitumMapperTest.java +1485 -0
  67. package/src/android/app/src/test/java/es/situm/plugin/angle/AngleCreator.java +46 -0
  68. package/src/android/app/src/test/java/es/situm/plugin/bounds/BoundsCreator.java +50 -0
  69. package/src/android/app/src/test/java/es/situm/plugin/building/BuildingCreator.java +76 -0
  70. package/src/android/app/src/test/java/es/situm/plugin/cartesianCoordinate/CartesianCoordinateCreator.java +31 -0
  71. package/src/android/app/src/test/java/es/situm/plugin/circle/CircleCreator.java +41 -0
  72. package/src/android/app/src/test/java/es/situm/plugin/coordinate/CoordinateCreator.java +32 -0
  73. package/src/android/app/src/test/java/es/situm/plugin/dimensions/DimensionsCreator.java +31 -0
  74. package/src/android/app/src/test/java/es/situm/plugin/directionsRequest/DirectionsRequestCreator.java +105 -0
  75. package/src/android/app/src/test/java/es/situm/plugin/event/EventCreator.java +108 -0
  76. package/src/android/app/src/test/java/es/situm/plugin/floor/FloorCreator.java +58 -0
  77. package/src/android/app/src/test/java/es/situm/plugin/indication/IndicationCreator.java +40 -0
  78. package/src/android/app/src/test/java/es/situm/plugin/location/LocationCreator.java +197 -0
  79. package/src/android/app/src/test/java/es/situm/plugin/locationRequest/LocationRequestCreator.java +45 -0
  80. package/src/android/app/src/test/java/es/situm/plugin/locationStatus/LocationStatusCreator.java +211 -0
  81. package/src/android/app/src/test/java/es/situm/plugin/navigationProgress/NavigationProgressCreator.java +154 -0
  82. package/src/android/app/src/test/java/es/situm/plugin/poi/PoiCreator.java +126 -0
  83. package/src/android/app/src/test/java/es/situm/plugin/poiCategory/PoiCategoryCreator.java +38 -0
  84. package/src/android/app/src/test/java/es/situm/plugin/point/PointCreator.java +200 -0
  85. package/src/android/app/src/test/java/es/situm/plugin/route/RouteCreator.java +142 -0
  86. package/src/android/app/src/test/java/es/situm/plugin/routeStep/RouteStepCreator.java +173 -0
  87. package/src/android/app/src/test/java/es/situm/plugin/situmConversionArea/SitumConversionAreaCreator.java +35 -0
  88. package/src/android/build.gradle +31 -0
  89. package/src/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  90. package/src/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  91. package/src/android/gradle.properties +16 -0
  92. package/src/android/gradlew +172 -0
  93. package/src/android/gradlew.bat +84 -0
  94. package/src/android/settings.gradle +3 -0
  95. package/src/android/situm.gradle +19 -0
  96. package/src/ios/Classes/Private/CDVDebug.h +25 -0
  97. package/src/ios/Classes/Private/CDVJSON_private.h +31 -0
  98. package/src/ios/Classes/Private/CDVJSON_private.m +99 -0
  99. package/src/ios/Classes/Private/CDVPlugin+Private.h +24 -0
  100. package/src/ios/Classes/Private/CDVPlugins/CDVGestureHandler/CDVGestureHandler.h +26 -0
  101. package/src/ios/Classes/Private/CDVPlugins/CDVGestureHandler/CDVGestureHandler.m +70 -0
  102. package/src/ios/Classes/Private/CDVPlugins/CDVHandleOpenURL/CDVHandleOpenURL.h +27 -0
  103. package/src/ios/Classes/Private/CDVPlugins/CDVHandleOpenURL/CDVHandleOpenURL.m +86 -0
  104. package/src/ios/Classes/Private/CDVPlugins/CDVIntentAndNavigationFilter/CDVIntentAndNavigationFilter.h +34 -0
  105. package/src/ios/Classes/Private/CDVPlugins/CDVIntentAndNavigationFilter/CDVIntentAndNavigationFilter.m +153 -0
  106. package/src/ios/Classes/Private/CDVPlugins/CDVLocalStorage/CDVLocalStorage.h +50 -0
  107. package/src/ios/Classes/Private/CDVPlugins/CDVLocalStorage/CDVLocalStorage.m +487 -0
  108. package/src/ios/Classes/Private/CDVPlugins/CDVLogger/CDVLogger.h +26 -0
  109. package/src/ios/Classes/Private/CDVPlugins/CDVLogger/CDVLogger.m +37 -0
  110. package/src/ios/Classes/Private/CDVPlugins/CDVUIWebViewEngine/CDVUIWebViewDelegate.h +41 -0
  111. package/src/ios/Classes/Private/CDVPlugins/CDVUIWebViewEngine/CDVUIWebViewDelegate.m +399 -0
  112. package/src/ios/Classes/Private/CDVPlugins/CDVUIWebViewEngine/CDVUIWebViewEngine.h +27 -0
  113. package/src/ios/Classes/Private/CDVPlugins/CDVUIWebViewEngine/CDVUIWebViewEngine.m +202 -0
  114. package/src/ios/Classes/Private/CDVPlugins/CDVUIWebViewEngine/CDVUIWebViewNavigationDelegate.h +29 -0
  115. package/src/ios/Classes/Private/CDVPlugins/CDVUIWebViewEngine/CDVUIWebViewNavigationDelegate.m +153 -0
  116. package/src/ios/Classes/Public/CDV.h +32 -0
  117. package/src/ios/Classes/Public/CDVAppDelegate.h +28 -0
  118. package/src/ios/Classes/Public/CDVAppDelegate.m +118 -0
  119. package/src/ios/Classes/Public/CDVAvailability.h +111 -0
  120. package/src/ios/Classes/Public/CDVAvailabilityDeprecated.h +26 -0
  121. package/src/ios/Classes/Public/CDVCommandDelegate.h +51 -0
  122. package/src/ios/Classes/Public/CDVCommandDelegateImpl.h +36 -0
  123. package/src/ios/Classes/Public/CDVCommandDelegateImpl.m +186 -0
  124. package/src/ios/Classes/Public/CDVCommandQueue.h +39 -0
  125. package/src/ios/Classes/Public/CDVCommandQueue.m +194 -0
  126. package/src/ios/Classes/Public/CDVConfigParser.h +30 -0
  127. package/src/ios/Classes/Public/CDVConfigParser.m +81 -0
  128. package/src/ios/Classes/Public/CDVInvokedUrlCommand.h +52 -0
  129. package/src/ios/Classes/Public/CDVInvokedUrlCommand.m +116 -0
  130. package/src/ios/Classes/Public/CDVPlugin+Resources.h +39 -0
  131. package/src/ios/Classes/Public/CDVPlugin+Resources.m +38 -0
  132. package/src/ios/Classes/Public/CDVPlugin.h +85 -0
  133. package/src/ios/Classes/Public/CDVPlugin.m +202 -0
  134. package/src/ios/Classes/Public/CDVPluginResult.h +66 -0
  135. package/src/ios/Classes/Public/CDVPluginResult.m +186 -0
  136. package/src/ios/Classes/Public/CDVScreenOrientationDelegate.h +33 -0
  137. package/src/ios/Classes/Public/CDVTimer.h +27 -0
  138. package/src/ios/Classes/Public/CDVTimer.m +123 -0
  139. package/src/ios/Classes/Public/CDVURLProtocol.h +27 -0
  140. package/src/ios/Classes/Public/CDVURLProtocol.m +113 -0
  141. package/src/ios/Classes/Public/CDVUserAgentUtil.h +27 -0
  142. package/src/ios/Classes/Public/CDVUserAgentUtil.m +124 -0
  143. package/src/ios/Classes/Public/CDVViewController.h +92 -0
  144. package/src/ios/Classes/Public/CDVViewController.m +821 -0
  145. package/src/ios/Classes/Public/CDVWebViewEngineProtocol.h +42 -0
  146. package/src/ios/Classes/Public/CDVWhitelist.h +34 -0
  147. package/src/ios/Classes/Public/CDVWhitelist.m +285 -0
  148. package/src/ios/Classes/Public/NSDictionary+CordovaPreferences.h +35 -0
  149. package/src/ios/Classes/Public/NSDictionary+CordovaPreferences.m +63 -0
  150. package/src/ios/Classes/Public/NSMutableArray+QueueAdditions.h +29 -0
  151. package/src/ios/Classes/Public/NSMutableArray+QueueAdditions.m +58 -0
  152. package/src/ios/Cordova/Cordova.h +51 -0
  153. package/src/ios/Cordova/Info.plist +24 -0
  154. package/src/ios/Podfile +5 -0
  155. package/src/ios/SitumCordovaPlugin.xcodeproj/project.pbxproj +1324 -0
  156. package/src/ios/SitumCordovaPlugin.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  157. package/src/ios/SitumCordovaPlugin.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  158. package/src/ios/SitumCordovaPlugin.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
  159. package/src/ios/SitumCordovaPlugin.xcodeproj/xcshareddata/xcschemes/CordovaLib.xcscheme +100 -0
  160. package/src/ios/SitumCordovaPlugin.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  161. package/src/ios/SitumCordovaPlugin_Prefix.pch +22 -0
  162. package/src/ios/VERSION +1 -0
  163. package/src/ios/cordova.js +2432 -0
  164. package/src/ios/situmcordovaplugin/AppDelegate.h +22 -0
  165. package/src/ios/situmcordovaplugin/AppDelegate.m +98 -0
  166. package/src/ios/situmcordovaplugin/Assets.xcassets/AppIcon.appiconset/Contents.json +98 -0
  167. package/src/ios/situmcordovaplugin/Base.lproj/LaunchScreen.storyboard +25 -0
  168. package/src/ios/situmcordovaplugin/Base.lproj/Main.storyboard +24 -0
  169. package/src/ios/situmcordovaplugin/Constants.h +14 -0
  170. package/src/ios/situmcordovaplugin/Constants.m +14 -0
  171. package/src/ios/situmcordovaplugin/Info.plist +45 -0
  172. package/src/ios/situmcordovaplugin/SITUtils.h +7 -0
  173. package/src/ios/situmcordovaplugin/SITUtils.m +13 -0
  174. package/src/ios/situmcordovaplugin/SitumLocationWrapper.h +109 -0
  175. package/src/ios/situmcordovaplugin/SitumLocationWrapper.m +983 -0
  176. package/src/ios/situmcordovaplugin/SitumPlugin.h +41 -0
  177. package/src/ios/situmcordovaplugin/SitumPlugin.m +752 -0
  178. package/src/ios/situmcordovaplugin/ViewController.h +15 -0
  179. package/src/ios/situmcordovaplugin/ViewController.m +29 -0
  180. package/src/ios/situmcordovaplugin/main.m +16 -0
  181. package/src/ios/situmcordovaplugin/situmcordovaplugin.xcdatamodeld/.xccurrentversion +8 -0
  182. package/src/ios/situmcordovaplugin/situmcordovaplugin.xcdatamodeld/situmcordovaplugin.xcdatamodel/contents +4 -0
  183. package/src/ios/situmcordovaplugintests/AngleTests.m +53 -0
  184. package/src/ios/situmcordovaplugintests/BoundTests.m +51 -0
  185. package/src/ios/situmcordovaplugintests/BuildingTests.m +41 -0
  186. package/src/ios/situmcordovaplugintests/CartesianCoordinateTests.m +42 -0
  187. package/src/ios/situmcordovaplugintests/ConversionAreaTests.m +43 -0
  188. package/src/ios/situmcordovaplugintests/CoordinateTests.m +42 -0
  189. package/src/ios/situmcordovaplugintests/DimensionTests.m +43 -0
  190. package/src/ios/situmcordovaplugintests/EventTests.m +42 -0
  191. package/src/ios/situmcordovaplugintests/FloorTests.m +52 -0
  192. package/src/ios/situmcordovaplugintests/Info.plist +38 -0
  193. package/src/ios/situmcordovaplugintests/InputTests/DirectionsRequestTest.m +108 -0
  194. package/src/ios/situmcordovaplugintests/InputTests/InputCartesianCoordinateTests.m +45 -0
  195. package/src/ios/situmcordovaplugintests/InputTests/InputCoordinateTests.m +45 -0
  196. package/src/ios/situmcordovaplugintests/InputTests/InputFloorTests.m +59 -0
  197. package/src/ios/situmcordovaplugintests/InputTests/InputIndicationTests.m +45 -0
  198. package/src/ios/situmcordovaplugintests/InputTests/InputLocationTests.m +163 -0
  199. package/src/ios/situmcordovaplugintests/InputTests/InputPoiCategoryTests.m +46 -0
  200. package/src/ios/situmcordovaplugintests/InputTests/InputPointTests.m +137 -0
  201. package/src/ios/situmcordovaplugintests/InputTests/LocationRequestTest.m +79 -0
  202. package/src/ios/situmcordovaplugintests/LocationStatusTests.m +60 -0
  203. package/src/ios/situmcordovaplugintests/LocationTests.m +114 -0
  204. package/src/ios/situmcordovaplugintests/NavigationProgressTests.m +50 -0
  205. package/src/ios/situmcordovaplugintests/PoiCategoryIconTests.m +43 -0
  206. package/src/ios/situmcordovaplugintests/PoiCategoryTests.m +42 -0
  207. package/src/ios/situmcordovaplugintests/PoiTests.m +83 -0
  208. package/src/ios/situmcordovaplugintests/PointTests.m +107 -0
  209. package/src/ios/situmcordovaplugintests/RouteStepTests.m +78 -0
  210. package/src/ios/situmcordovaplugintests/RouteTests.m +42 -0
  211. package/src/ios/situmcordovaplugintests/SitumCreatorTests.h +91 -0
  212. package/src/ios/situmcordovaplugintests/SitumCreatorTests.m +928 -0
  213. package/src/ios/situmcordovaplugintests/TestingHelper.h +48 -0
  214. package/src/ios/situmcordovaplugintests/TestingHelper.m +342 -0
  215. package/src/ios/situmcordovaplugintests/indicationTests.m +43 -0
  216. package/tests/common-resources/angle/angle1.json +6 -0
  217. package/tests/common-resources/angle/angle2.json +6 -0
  218. package/tests/common-resources/bounds/bounds1.json +18 -0
  219. package/tests/common-resources/bounds/bounds2.json +18 -0
  220. package/tests/common-resources/building/building1.json +64 -0
  221. package/tests/common-resources/cartesianCoordinate/cartesianCoordinate1.json +4 -0
  222. package/tests/common-resources/circle/circle1.json +17 -0
  223. package/tests/common-resources/coordinate/coordinate1.json +4 -0
  224. package/tests/common-resources/dimensions/dimensions1.json +4 -0
  225. package/tests/common-resources/directionsRequest/directionsRequest1.json +166 -0
  226. package/tests/common-resources/directionsRequest/directionsRequest2.json +167 -0
  227. package/tests/common-resources/directionsRequest/directionsRequest3.json +166 -0
  228. package/tests/common-resources/directionsRequest/directionsRequest4.json +166 -0
  229. package/tests/common-resources/directionsRequest/directionsRequest5.json +167 -0
  230. package/tests/common-resources/directionsRequest/directionsRequest6.json +153 -0
  231. package/tests/common-resources/events/event1.json +66 -0
  232. package/tests/common-resources/floor/floor1.json +13 -0
  233. package/tests/common-resources/floor/floor2.json +13 -0
  234. package/tests/common-resources/indication/indication1.json +10 -0
  235. package/tests/common-resources/location/location1.json +48 -0
  236. package/tests/common-resources/location/location10.json +48 -0
  237. package/tests/common-resources/location/location2.json +48 -0
  238. package/tests/common-resources/location/location3.json +48 -0
  239. package/tests/common-resources/location/location4.json +48 -0
  240. package/tests/common-resources/location/location5.json +48 -0
  241. package/tests/common-resources/location/location6.json +48 -0
  242. package/tests/common-resources/location/location7.json +48 -0
  243. package/tests/common-resources/location/location8.json +48 -0
  244. package/tests/common-resources/location/location9.json +48 -0
  245. package/tests/common-resources/locationRequest/locationRequest1.json +6 -0
  246. package/tests/common-resources/locationRequest/locationRequest2.json +32 -0
  247. package/tests/common-resources/locationRequest/locationRequest3.json +33 -0
  248. package/tests/common-resources/locationRequest/locationRequest4.json +31 -0
  249. package/tests/common-resources/locationStatus/locationStatus1.json +4 -0
  250. package/tests/common-resources/locationStatus/locationStatus10.json +4 -0
  251. package/tests/common-resources/locationStatus/locationStatus11.json +4 -0
  252. package/tests/common-resources/locationStatus/locationStatus12.json +4 -0
  253. package/tests/common-resources/locationStatus/locationStatus13.json +4 -0
  254. package/tests/common-resources/locationStatus/locationStatus2.json +4 -0
  255. package/tests/common-resources/locationStatus/locationStatus3.json +4 -0
  256. package/tests/common-resources/locationStatus/locationStatus4.json +4 -0
  257. package/tests/common-resources/locationStatus/locationStatus5.json +4 -0
  258. package/tests/common-resources/locationStatus/locationStatus6.json +4 -0
  259. package/tests/common-resources/locationStatus/locationStatus7.json +4 -0
  260. package/tests/common-resources/locationStatus/locationStatus8.json +4 -0
  261. package/tests/common-resources/locationStatus/locationStatus9.json +4 -0
  262. package/tests/common-resources/navigationProgress/navigationProgress1.json +77 -0
  263. package/tests/common-resources/navigationProgress/navigationProgress2.json +77 -0
  264. package/tests/common-resources/poi/poi1.json +35 -0
  265. package/tests/common-resources/poi/poi2.json +35 -0
  266. package/tests/common-resources/poi/poi3.json +35 -0
  267. package/tests/common-resources/poi/poi4.json +38 -0
  268. package/tests/common-resources/poi/poi5.json +35 -0
  269. package/tests/common-resources/poiCategory/poiCategory1.json +7 -0
  270. package/tests/common-resources/poiCategoryIcon/poiCategoryIcon1.json +1 -0
  271. package/tests/common-resources/poiCategoryIcon/poiCategoryIcon1.png +0 -0
  272. package/tests/common-resources/point/point1.json +14 -0
  273. package/tests/common-resources/point/point2.json +14 -0
  274. package/tests/common-resources/point/point3.json +14 -0
  275. package/tests/common-resources/point/point4.json +14 -0
  276. package/tests/common-resources/point/point5.json +14 -0
  277. package/tests/common-resources/point/point6.json +14 -0
  278. package/tests/common-resources/point/point7.json +14 -0
  279. package/tests/common-resources/point/point8.json +14 -0
  280. package/tests/common-resources/route/route1.json +530 -0
  281. package/tests/common-resources/routeStep/routeStep1.json +35 -0
  282. package/tests/common-resources/routeStep/routeStep2.json +35 -0
  283. package/tests/common-resources/routeStep/routeStep3.json +35 -0
  284. package/tests/common-resources/routeStep/routeStep4.json +35 -0
  285. package/tests/common-resources/routeStep/routeStep5.json +35 -0
  286. package/tests/common-resources/situmConversionArea/situmConversionArea1.json +19 -0
  287. package/tests/js/resources/fetchBuildings.json +176 -0
  288. package/tests/js/resources/fetchEventsFromBuilding.json +201 -0
  289. package/tests/js/resources/fetchFloorsFromBuilding.json +34 -0
  290. package/tests/js/resources/fetchIndoorPOIsFromBuilding.json +574 -0
  291. package/tests/js/resources/fetchMapFromFloor.json +3 -0
  292. package/tests/js/resources/fetchOutdoorPOIsFromBuilding.json +68 -0
  293. package/tests/js/resources/fetchPoiCategories.json +72 -0
  294. package/tests/js/resources/fetchPoiCategoryIconNormal.json +3 -0
  295. package/tests/js/resources/fetchPoiCategoryIconSelected.json +3 -0
  296. package/tests/js/resources/requestDirections.json +1167 -0
  297. package/tests/js/resources/startPositioning/0_starting.json +4 -0
  298. package/tests/js/resources/startPositioning/1_preparingPositioningModel.json +4 -0
  299. package/tests/js/resources/startPositioning/2_startingPositioning.json +4 -0
  300. package/tests/js/resources/startPositioning/3_calculating.json +4 -0
  301. package/tests/js/resources/startPositioning/4_position.json +48 -0
  302. package/tests/js/resources/startPositioning/5_position.json +48 -0
  303. package/tests/js/test.js +416 -0
  304. package/tests/scripts/clean_android_resources.sh +3 -0
  305. package/tests/scripts/clean_ios_resources.sh +3 -0
  306. package/tests/scripts/copy_android_resources.sh +3 -0
  307. package/tests/scripts/copy_ios_resources.sh +3 -0
  308. package/tests/scripts/self-destruct.sh +1 -0
  309. package/www/android/Interfaces.js +742 -0
  310. package/www/android/situm.js +296 -0
  311. package/www/ios/situm.js +99 -0
  312. package/www/map-view-controller.js +223 -0
  313. package/www/map-view.js +88 -0
@@ -0,0 +1,742 @@
1
+ /** @name
2
+ * Building
3
+ * @description
4
+ * A Building object definition
5
+ * @property {string} buildingIdentifier - The unique identifier of the resource
6
+ * @property {string} name - The building name that is appropriate for display to the user.
7
+ * @property {string} address - Te building address.
8
+ * @property {Bounds} bounds - Compute corners of this building, without rotation, in earth coordinates.
9
+ * @property {Bounds} boundsRotated - Compute corners of this building, with rotation, in earth coordinates.
10
+ * @property {Coordinate} center - Center of the building's base, as geographical coordinate.
11
+ * @property {Dimensions} Dimensions - Dimensions of building's base (height and width) in meters.
12
+ * @property {string} infoHtml - Additional information about building, formatted with HTML
13
+ * @property {string} pictureThumbUrl - The URL of building thumbnail image
14
+ * @property {string} pictureUrl - The URL of building image
15
+ * @property {number} rotation - Rotation angle of the building's base, relative to the west-east axis, increasing in counter-clockwise, being 0 the west-east axis.
16
+ * @property {string} userIdentifier - Unique identifier of the owner user of the building
17
+ * @property {object} customFields - Map of custom fields, indexed by their name.
18
+ */
19
+
20
+ var Building = {
21
+ buildingIdentifier,
22
+ name,
23
+ address,
24
+ bounds,
25
+ boundsRotated,
26
+ center,
27
+ dimensions,
28
+ infoHtml,
29
+ pictureThumbUrl,
30
+ pictureUrl,
31
+ rotation,
32
+ userIdentifier,
33
+ customFields
34
+ }
35
+
36
+ module.exports = Building
37
+
38
+ /** @name
39
+ * BuildingInfo
40
+ * @description
41
+ * Detailed information of a building in a single object.
42
+ * @property {Building} building - Basic information.
43
+ * @property {Array<Floor>} floors - complete set of levels.
44
+ * @property {Array<Poi>} indoorPois - list of indoor pois (the ones which its coordinate is inside the building).
45
+ * @property {Array<Poi>} outdoorPois - list of indoor pois (the ones which its coordinate is outside the building).
46
+ * @property {Array<Event>} events - list of events associated with a building.
47
+ */
48
+
49
+ var BuildingInfo = {
50
+ building,
51
+ floors,
52
+ indoorPois,
53
+ outdoorPois,
54
+ events
55
+ }
56
+
57
+ module.exports = BuildingInfo
58
+
59
+ /**
60
+ * @name
61
+ * Floor
62
+ * @description
63
+ * Floor of a building.
64
+ * @property {number} altitude - Altitude of the floor above ground level, in meters.
65
+ * @property {string} buildingIdentifier - The identifier of building which this floor belongs.
66
+ * @property {number} level - The number of the floor.
67
+ * @property {string} name - The name of the floor
68
+ * @property {string} mapUrl - The floor map image url
69
+ * @property {number} scale - The scale of the floor image, in px/meters
70
+ * @property {string} floorIdentifier - The unique identifier of the resource
71
+ */
72
+
73
+ var Floor = {
74
+ altitude,
75
+ buildingIdentifier,
76
+ level,
77
+ mapUrl,
78
+ scale,
79
+ floorIdentifier
80
+ }
81
+
82
+ module.exports = Floor
83
+
84
+ /** @name
85
+ * Dimensions
86
+ * @description
87
+ * Define 2D dimensions of a rectangular area.
88
+ * @property {number} width - Width of rectangle in meters
89
+ * @property {number} height - Height of rectangle in meters.
90
+ */
91
+
92
+ var Dimensions = {
93
+ width,
94
+ height
95
+ }
96
+
97
+ module.exports = Dimensions
98
+
99
+ /** @name
100
+ * Bounds
101
+ * @description
102
+ * Represents a rectangle bounds in a greographic 2D space.
103
+ * @property {Coordinate} northEast - The coordinate of the north-east corner of the bound.
104
+ * @property {Coordinate} northWest - The coordinate of the north-west corner of the bound.
105
+ * @property {Coordinate} southEast - The coordinate of the south-east corner of the bound.
106
+ * @property {Coordinate} southWest - The coordinate of the south-east corner of the bound.
107
+ */
108
+
109
+ var Bounds = {
110
+ northEast,
111
+ northWest,
112
+ southEast,
113
+ southWest
114
+ }
115
+
116
+ module.exports = Bounds
117
+
118
+ /**
119
+ * @name
120
+ * Coordinate
121
+ * @description
122
+ * A structure that contains geographical coordinate.
123
+ * @property {number} latitude - Latitude in degrees
124
+ * @property {number} longitude - Longitude in degrees
125
+ */
126
+
127
+ var Coordinate = {
128
+ latitude,
129
+ longitude
130
+ }
131
+
132
+ module.exports = Coordinate
133
+
134
+ /**
135
+ * @name
136
+ * CartesianCoordinate
137
+ * @description
138
+ * A structure that contains cartesian coordinate.
139
+ * @property {number} x - Value of coordinate at x-axis
140
+ * @property {number} y - Value of coordinate at y-axis
141
+ */
142
+
143
+ var CartesianCoordinate = {
144
+ x,
145
+ y
146
+ }
147
+
148
+ module.exports = CartesianCoordinate
149
+
150
+ /**
151
+ * @name
152
+ * POI
153
+ * @description
154
+ * Point of Interest, associated to a building, regardless of whether it's place inside or outside the building.
155
+ * @property {string} identifier - The unique identifier of the resource
156
+ * @property {string} buildingIdentifier - Identifier of building to which the POI belongs.
157
+ * @property {CartesianCoordinate} cartesianCoordinate - Cartesian coordinate of this position, relative to building {@link Bounds}.
158
+ * @property {Coordinate} coordinate - Geographical coordinate of this position
159
+ * @property {string} floorIdentifier - If this POI is outside the building (isOutdoor == true), this field has no meaning.
160
+ * @property {string} poiName - A name for the POI, appropriate for display to the user.
161
+ * @property {Point} position - {@link Point} where the point is located.
162
+ * @property {boolean} isIndoor - Whether the POI is placed outside the building or not.
163
+ * @property {boolean} isOutdoor - Whether the POI is placed outside the building or not.
164
+ * @property {PoiCategory} category - Category of the POI
165
+ * @property {string} infoHtml - Additional information about POI, in HTML
166
+ * @property {object} customFields - Map of custom fields, indexed by their name.
167
+ */
168
+
169
+ var Poi = {
170
+ identifier,
171
+ buildingIdentifier,
172
+ cartesianCoordinate,
173
+ coordinate,
174
+ floorIdentifier,
175
+ poiName,
176
+ position,
177
+ isIndoor,
178
+ isOutdoor,
179
+ category,
180
+ infoHtml,
181
+ customFields
182
+ }
183
+
184
+ module.exports = Poi
185
+
186
+ /**
187
+ * @name
188
+ * Geofence
189
+ * @description
190
+ * Point of Interest, associated to a building, regardless of whether it's place inside or outside the building.
191
+ * @property {string} identifier - The unique identifier of the resource
192
+ * @property {string} buildingIdentifier - Identifier of building to which the POI belongs.
193
+ * @property {string} floorIdentifier - If this POI is outside the building (isOutdoor == true), this field has no meaning.
194
+ * @property {string} name - A name for the geofence, appropriate for display to the user.
195
+ * @property {string} infoHtml - Additional information about POI, in HTML
196
+ * @property {Point[]} polygonPoints - List of points of that define the area of the geofence
197
+ * @property {object} customFields - Map of custom fields, indexed by their name.
198
+ */
199
+
200
+ var Geofence = {
201
+ identifier,
202
+ buildingIdentifier,
203
+ floorIdentifier,
204
+ infoHtml,
205
+ polygonPoints,
206
+ customFields
207
+ }
208
+
209
+ module.exports = Geofence
210
+
211
+ /**
212
+ * @name
213
+ * PoiCategory
214
+ * @description
215
+ * Category of Point of Interest.
216
+ * @property {string} poiCategoryCode - Unique code of the category
217
+ * @property {string} poiCategoryName - The category name appropriate for display to the user
218
+ * @property {string} icon_selected - The selected icon url
219
+ * @property {string} icon_unselected - The unselected icon url
220
+ * @property {boolean} public - Whether the category is public or not
221
+ */
222
+
223
+
224
+ var PoiCategory = {
225
+ poiCategoryCode,
226
+ poiCategoryName,
227
+ icon_selected,
228
+ icon_unselected,
229
+ public
230
+ }
231
+
232
+ module.exports = PoiCategory
233
+
234
+ /**
235
+ * @name
236
+ * Point
237
+ * @description
238
+ * Associate geographical coordinate (Location) with Building and Floor (Cartography) and cartesian coordinate relative to that building.
239
+ * @property {string} buildingIdentifier - Unique identifier for the building to which this point belongs
240
+ * @property {CartesianCoordinate} cartesianCoordinate - Cartesian coordinate (in meters) relative to the Bounds of building's base.
241
+ * @property {Coordinate} coordinate - Geographic coordinate (latitude, longitude) of the point, regardless of whether it's placed inside or outside the building.
242
+ * @property {string} floorIdentifier - Floor identifier (inside the building) where this point is placed.
243
+ * @property {boolean} isIndoor - If the POI is inside the building.
244
+ * @property {boolean} idOutdoor - If the POI is outside the building.
245
+ */
246
+
247
+ var Point = {
248
+ buildingIdentifier,
249
+ cartesianCoordinate,
250
+ coordinate,
251
+ floorIdentifier,
252
+ isIndoor,
253
+ isOutdoor
254
+ }
255
+
256
+ module.exports = Point
257
+
258
+ /**
259
+ * @name
260
+ * Location
261
+ * @description
262
+ * A location. It can be indoor or outdoor, check isIndoor and isOutdoor. A valid indoor location has floorIdentifier and cartesianCoordinate.
263
+ * @property {number} accuracy - The accuracy radius (in meters)
264
+ * @property {Angle} bearing - The bearing (in degrees) with respect to the Earth North.
265
+ * @property {string} bearingQuality - The quality of the cartesian bearing.
266
+ * @property {string} buildingIdentifier - Only used in indoor.
267
+ * @property {Angle} cartesianBearing - Only used in indoor. In {@link Angle} object.
268
+ * @property {CartesianCoordinate} cartesianCoordinate - Only used in indoor. In {@link CartesianCoordinate} object.
269
+ * @property {Coordinate} coordinate - The {@link Coordinate} of the location
270
+ * @property {string} floorIdentifier - Only used in indoor.
271
+ * @property {Point} position - The position of the location as {@link Point}.
272
+ * @property {string} provider - The device identifier that has generated the location
273
+ * @property {string} quality - Only used in indoor. Possible values are HIGH and LOW.
274
+ * @property {boolean} hasBearing - True if the location has bearing and the bearing quality is Location.Quality.HIGH, false otherwise.
275
+ * @property {number} timestamp - The timestamp of the location.
276
+ * @property {boolean} hasCartesianBearing - Only used in indoor.
277
+ * @property {boolean} isIndoor - True if the location is indoor
278
+ * @property {boolean} isOutdoor - True if the location is outdoor
279
+ * @property {string} deviceId - Identifier of the device that has generated the location
280
+ */
281
+
282
+ var Location = {
283
+ accuracy,
284
+ bearing,
285
+ bearingQuality,
286
+ buildingIdentifier,
287
+ cartesianBearing,
288
+ cartesianCoordinate,
289
+ coordinate,
290
+ floorIdentifier,
291
+ position,
292
+ provider,
293
+ quality,
294
+ hasBearing,
295
+ timestamp,
296
+ hasCartesianBearing,
297
+ isIndoor,
298
+ isOutdoor,
299
+ deviceId
300
+ }
301
+
302
+ module.exports = Location
303
+
304
+ /**
305
+ * @name
306
+ * LocationStatus
307
+ * @description
308
+ * Status of the positioning
309
+ * @property {string} statusName - Status in which the positioning is
310
+ * @property {number} statusOrdinal - Number of the status
311
+ */
312
+
313
+ var LocationStatus = {
314
+ statusName,
315
+ statusOrdinal
316
+ }
317
+
318
+ module.exports = LocationStatus
319
+
320
+ /**
321
+ * @name
322
+ * Angle
323
+ * @description
324
+ * Representation of an angle.
325
+ * @property {number} degrees - Angle in degrees, increasing in counter-clockwise
326
+ * @property {number} degreesClockwise - Angle in radians, increasing in clockwise
327
+ * @property {number} radians - Angle in radians, increasing in counter-clockwise
328
+ * @property {number} radiansMinusPiPi - Angle in radians in range (-pi,pi)
329
+ */
330
+
331
+ var Angle = {
332
+ degrees,
333
+ degreesClockwise,
334
+ radians,
335
+ radiansMinusPiPi
336
+ }
337
+
338
+ module.exports = Angle
339
+
340
+ /**
341
+ * @name
342
+ * Route
343
+ * @description
344
+ * Route between two points.
345
+ * @property {RouteStep[]} edges - Ordered list of steps to go to the goal point
346
+ * @property {RouteStep} firstStep - First step
347
+ * @property {Point} from - Point where the route starts.
348
+ * @property {Indication} indications - Ordered list of instructions to go to the destination
349
+ * @property {RouteStep} lastStep - Last step
350
+ * @property {Point[]} nodes - A collection of points of the route (not ordered)
351
+ * @property {Point[]} points - List of ordered points of the route
352
+ * @property {Point} to - Last point and goal of the route.
353
+ * @property {RouteStep[]} steps - Ordered list of steps to go to the goal point
354
+ * @property {RouteSegment[]} segments - List of segments formed by consecutive points and a floor identifier
355
+ */
356
+
357
+ var Route = {
358
+ edges,
359
+ firstStep,
360
+ from,
361
+ indications,
362
+ lastStep,
363
+ nodes,
364
+ points,
365
+ to,
366
+ steps,
367
+ segments
368
+ }
369
+
370
+ module.exports = Route
371
+
372
+ /**
373
+ * @name
374
+ * RouteStep
375
+ * @description
376
+ * A fragment of a route, described by the initial point from and the last point to of the fragment, and some information about the step within the route.
377
+ * @property {number} distance - Distance between from and to in meters.
378
+ * @property {number} distanceToGoal - Distance in meters between the start point of this step (from) and the last point in the route ('to' of the last step).
379
+ * @property {Point} from - Start point of this step.
380
+ * @property {number} id - Position of this RouteStep in the list of steps (Route.steps) of the route to which it belongs.
381
+ * @property {Point} to - End point of this step.
382
+ * @property {boolean} isFirst - Returns true if this is the first step in the route.
383
+ * @property {boolean} isLast - Returns true if this is the last step in the route.
384
+ */
385
+
386
+ var RouteStep = {
387
+ distance,
388
+ distanceToGoal,
389
+ from,
390
+ id,
391
+ to,
392
+ isFirst,
393
+ isLast
394
+ }
395
+
396
+ module.exports = RouteStep
397
+
398
+ /**
399
+ * @name
400
+ * RouteSegment
401
+ * @description
402
+ * A fragment of a route, described by a floor identifier and a list of consecutive points from the same floor
403
+ * @property {string} floorIdentifier - Identifier of the floor containing the points in this segment
404
+ * @property {Point[]} points - Consecutive points in the same floor forming a path
405
+ */
406
+
407
+ var RouteSegment = {
408
+ floorIdentifier,
409
+ points
410
+ }
411
+
412
+ module.exports = RouteSegment
413
+
414
+ /**
415
+ * @name
416
+ * Indication
417
+ * @description
418
+ * Represents the instruction that a user should follow when on a RouteStep to continue the route.
419
+ * @property {number} distance - The distance between the origin and destination
420
+ * @property {number} distanceToNextLevel - The number of levels between the origin and destination
421
+ * @property {string} indicationType - The Indication.Action of the instruction as String
422
+ * @property {number} orientation - The angle a user should change his direction in order to go from the origin to the destination.
423
+ * @property {string} orientationType - The Indication.Orientation of the instruction as String
424
+ * @property {number} stepIdxDestination - The index of the indication's step of destination.
425
+ * @property {number} stepIdxOrigin - The index of the indication's step of origin
426
+ * @property {boolean} neededLevelChange - If the user should change the level in order to arrive to destination
427
+ */
428
+
429
+ var Indication = {
430
+ distance,
431
+ distanceToNextLevel,
432
+ indicationType,
433
+ orientation,
434
+ orientationType,
435
+ stepIdxDestination,
436
+ stepIdxOrigin,
437
+ neededLevelChange
438
+ }
439
+
440
+ module.exports = Indication
441
+
442
+
443
+ /**
444
+ * @name
445
+ * NavigationProgress
446
+ * @description
447
+ * Provides information of the progress of a user while following a route.
448
+ * @property {Point} closestPointInRoute - Closest point in the route from the user location provided . @deprecated Use closestLocationInRoute instead.
449
+ * @property {Location} closestLocationInRoute - Closest location in the route from the user location provided .
450
+ * @property {number} distanceToClosestPointInRoute - Distance between the real user location (provided to updateWithLocation(Location)) and the closest route location.
451
+ * @property {Indication} currentIndication - The current indication.
452
+ * @property {Indication} nextIndication - The next indication.
453
+ * @property {number} currentStepIndex - The index of the closest route step to the user, where closestLocationInRoute is.
454
+ * @property {number} distanceToGoal - The distance in meters from closestLocationInRoute to route's goal point.
455
+ * @property {number} distanceToEndStep - The distance in meters to go from closestLocationInRoute to the end of the current step.
456
+ * @property {number} timeToEndStep - The estimated time to go from closestLocationInRoute to the end of the current route step, considering a speed of 1 meter/second.
457
+ * @property {number} timeToGoal - The estimated time to go from closestLocationInRoute to the goal/end of route, considering a speed of 1 meter/second.
458
+ * @property {RouteStep} routeStep - The closest route step to the user, where closestLocationInRoute is.
459
+ * @property {Point[]} points - List of ordered points of the remaining route
460
+ * @property {RouteSegment[]} segments - List of segments formed by consecutive points and a floor identifier
461
+ */
462
+
463
+ var NavigationProgress = {
464
+ closestPointInRoute,
465
+ closestLocationInRoute,
466
+ distanceToClosestPointInRoute,
467
+ currentIndication,
468
+ nextIndication,
469
+ currentStepIndex,
470
+ distanceToGoal,
471
+ distanceToEndStep,
472
+ timeToEndStep,
473
+ timeToGoal,
474
+ routeStep,
475
+ points,
476
+ segments
477
+ }
478
+
479
+ module.exports = NavigationProgress
480
+
481
+
482
+ /**
483
+ * @name
484
+ * SitumEvent
485
+ * @description
486
+ * An event: POI with radius, conversion area and asociated statistics. It is intended for usage in marketing apps.
487
+ * @property {number} buildingIdentifier - The identifier of the building this floor belongs to. Deprecated, use trigger.center.buildingIdentifier instead
488
+ * @property {number} identifier - Unique identifier of the SitumEvent.
489
+ * @property {number} floorIdentifier - The identifier of the floor this event is located at. @deprecated, use trigger.center.floorIdentifier instead
490
+ * @property {string} infoHtml - Information contained into the event, in HTML format.
491
+ * @property {SitumConversionArea} conversionArea - Location where the event is located. @deprecated, use conversion instead
492
+ * @property {Circle} conversion - Location where the event is located.
493
+ * @property {Circle} trigger - Location where the event should be fired
494
+ * @property {object} customFields - Key-value pairs that allow to extend and fully customize the information associated with the event.
495
+ * @property {number} radius - Radius of the event associated area. @deprecated, use trigger.radius instead
496
+ * @property {string} name - Name of the event
497
+ * @property {number} x - Center of the event in the x-axis. @deprecated, use trigger.center.cartesianCoordinate.x instead
498
+ * @property {number} y - Center of the event in the y-axis. @deprecated, use trigger.center.cartesianCoordinate.y instead
499
+ */
500
+
501
+ var SitumEvent = {
502
+ buildingIdentifier,
503
+ identifier,
504
+ floorIdentifier,
505
+ infoHtml,
506
+ conversionArea,
507
+ customFields,
508
+ radius,
509
+ name,
510
+ x,
511
+ y
512
+ }
513
+
514
+ module.exports = SitumEvent
515
+
516
+ /**
517
+ * @name
518
+ * SitumConversionArea
519
+ * @description
520
+ * A rectangular area of a floor defining the conversion area of an event
521
+ * @property {number} floorIdentifier - The identifier of the floor the SitumConversionArea is located at.
522
+ * @property {object} topLeft - Top-left corner
523
+ * @property {object} topRight - Top-right corner
524
+ * @property {object} bottomLeft - Bottom-left corner
525
+ * @property {object} bottomRight - Bottom-right corner
526
+ */
527
+
528
+ var SitumConversionArea = {
529
+ floorIdentifier,
530
+ topLeft,
531
+ topRight,
532
+ bottomLeft,
533
+ bottomRight,
534
+ }
535
+
536
+ module.exports = Circle
537
+
538
+ /**
539
+ * @name
540
+ * Circle
541
+ * @description
542
+ * A circular area
543
+ * @property {Point} center - The center of the circle
544
+ * @property {number} radius - The radius of the circle
545
+ */
546
+
547
+ var Circle = {
548
+ center,
549
+ radius,
550
+ }
551
+
552
+ module.exports = SitumConversionArea
553
+
554
+ /**
555
+ * @name
556
+ * LocationOptions
557
+ * @description
558
+ * A data object that contains parameters for the location service, LocationManager.
559
+ * @property {number} buildingIdentifier - Identifier of the building on which the positioning will be started
560
+ * @property {number} interval - Default interval (in milliseconds) to notify location updates
561
+ * @property {string} indoorProvider - Default indoor provider. Possible values are INPHONE and SUPPORT
562
+ * @property {boolean} useBle - Defines whether or not to use BLE for positioning
563
+ * @property {boolean} useWifi - Defines whether or not to use Wi-Fi for positioning
564
+ * @property {boolean} useGps - Defines whether or not to use the GPS for indoor positioning
565
+ * @property {boolean} useBarometer - Defines whether or not to use barometer for indoor positioning
566
+ * @property {string} motionMode - Default motion mode. Possible values are BY_CAR, BY_FOOT and RADIOMAX
567
+ * @property {boolean} useForegroundService - Defines whether or not to activate the {@link http://developers.situm.es/pages/android/using_situm_sdk_background.html foreground service}
568
+ * @property {boolean} useDeadReckoning - Defines whether ot not to use dead reckoning to get fast position updates using only the inertial sensors, between the server position updates.
569
+ * @property {OutdoorLocationOptions} outdoorLocationOptions - Outdoor location options. Only used in an indoor/outdoor request
570
+ * @property {BeaconFilter[]} beaconFilters - Beacon filters to be handled during scan time, otherwise only Situm beacons will be scanned. Can be invoked multiple times to add as much beacon filters as you want @deprecated The SitumSDK now does it automatically
571
+ * @property {number} smallestDisplacement - Default smallest displacement to nofiy location updates
572
+ * @property {string} realtimeUpdateInterval - Default interval to send locations to the Realtime. Possible values are REALTIME, FAST, NORMAL, SLOW and BATTERY_SAVER
573
+ * @property {boolean} autoEnableBleDuringPositioning - Set if the BLE should be re-enabled during positioning if the ble is used. Android only
574
+ */
575
+
576
+ var LocationOptions = {
577
+ buildingIdentifier,
578
+ interval,
579
+ indoorProvider,
580
+ useBle,
581
+ useWifi,
582
+ useGps,
583
+ useBarometer,
584
+ motionMode,
585
+ useForegroundService,
586
+ useDeadReckoning,
587
+ outdoorLocationOptions,
588
+ beaconFilters,
589
+ smallestDisplacement,
590
+ realtimeUpdateInterval
591
+ }
592
+
593
+ module.exports = LocationOptions
594
+
595
+ /**
596
+ * @name
597
+ * LocationRequest
598
+ * @description
599
+ * A data object that contains parameters for the location service, LocationManager.
600
+ * @type {array}
601
+ * @property {Building} building 0 - Building on which the positioning will be started
602
+ * @property {LocationOptions} locationOptions 1 - Location options.
603
+ */
604
+
605
+ var LocationRequest = {
606
+ building,
607
+ locationOptions
608
+ }
609
+
610
+ module.exports = LocationRequest
611
+
612
+ /**
613
+ * @name
614
+ * NavigationRequest
615
+ * @description
616
+ * A data object that contains parameters for the navigation service, NavigationManager.
617
+ * @property {number} distanceToChangeIndicationThreshold - Distance threshold from when the next indication is considered reached.
618
+ * @property {number} distanceToFloorChangeThreshold - Distance threshold from when a floor change is considered reached.
619
+ * @property {number} distanceToGoalThreshold - Distance threshold from when the goal is considered reached.
620
+ * @property {number} distanceToIgnoreFirstIndication - Maximum distance to ignore the first indication when navigating a route (Only available for Android).
621
+ * @property {number} ignoreLowQualityLocations - Set if low quality locations should be ignored. (Only available for Android).
622
+ * @property {number} indicationsInterval - Time to wait between indications.
623
+ * @property {number} outsideRouteThreshold - Set the distance to consider the use is outside of the route. A type=userOutsideRoute will be sent trough the NavigationListener .
624
+ * @property {number} roundIndicationsStep - Step that will be used to round indications distance.
625
+ * @property {number} timeToFirstIndication - Time to wait until the first indication is returned.
626
+ * @property {number} timeToIgnoreUnexpectedFloorChanges - Time (in millis) to ignore the locations received during navigation, when the next indication is a floor change, if the locations are in a wrong floor (not in origin or destination floors).
627
+ */
628
+
629
+ var NavigationRequest = {
630
+ distanceToGoalThreshold,
631
+ outsideRouteThreshold,
632
+ distanceToFloorChangeThreshold,
633
+ distanceToChangeIndicationThreshold,
634
+ indicationsInterval,
635
+ timeToFirstIndication,
636
+ roundIndicationsStep,
637
+ timeToIgnoreUnexpectedFloorChanges
638
+ }
639
+
640
+ module.exports = NavigationRequest
641
+
642
+ /**
643
+ * @name
644
+ * DirectionsRequest
645
+ * @description
646
+ * A data object that contains the request for directions.
647
+ * @property {Building} positioningBuilding
648
+ * @property {Point|Location} from - Current user's position as the starting point of the route.
649
+ * @property {Point|POI} to - Point to, where the route should end.
650
+ * @property {DirectionsOptions} options - Options that can be added to the request.
651
+ */
652
+
653
+ var DirectionsRequest = {
654
+ positioningBuilding,
655
+ from,
656
+ to,
657
+ options
658
+ }
659
+
660
+ module.exports = DirectionsRequest
661
+
662
+ /**
663
+ * @name
664
+ * DirectionsOptions
665
+ * @description
666
+ * A data object that contains the directions options.
667
+ * @property {boolean} minimizeFloorChanges - Defines wheter or not the route should be calculated minimizing the floor changes even if the result is longer.
668
+ * @property {boolean} accessibleRoute - Defines wheter or not the route has to be suitable for wheel chairs (true) or not (false). @deprecated, use accessibilityMode
669
+ * @property {boolean} accessible - Defines wheter or not the route has to be suitable for wheel chairs (true) or not (false). @deprecated, use accessibilityMode
670
+ * @property {string} accessibilityMode - Defines the accessibility mode of the route. Possible values are: CHOOSE_SHORTEST, ONLY_NOT_ACCESSIBLE_FLOOR_CHANGES, ONLY_ACCESSIBLE
671
+ * @property {number} startingAngle - Current user's orientation in degrees.
672
+ */
673
+
674
+ var DirectionsOptions = {
675
+ minimizeFloorChanges,
676
+ accessibleRoute,
677
+ startingAngle
678
+ }
679
+
680
+ module.exports = DirectionsOptions
681
+
682
+ /**
683
+ * @name
684
+ * OutdoorLocationOptions
685
+ * @description
686
+ * Outdoor location options are only used in indoor-outdoor mode (Only available for Android)
687
+ * @property {boolean} userDefinedThreshold
688
+ * @property {number} computeInterval - Interval (in milliseconds) between consecutive GPS readings performed by Situm SDK, and therefore between consecutive generated Outdoor Locations.
689
+ * @property {number} averageSnrThreshold
690
+ */
691
+
692
+ var OutdoorLocationOptions = {
693
+ userDefinedThreshold,
694
+ computeInterval,
695
+ averageSnrThreshold
696
+ }
697
+
698
+ module.exports = OutdoorLocationOptions
699
+
700
+ /**
701
+ * @name
702
+ * BeaconFilter
703
+ * @description
704
+ * Represents a BLE filter. Now the only field is the BLE proximity UUID
705
+ * @property {string} uuid - Assigns the proximity UUID
706
+ */
707
+
708
+ var BeaconFilter = {
709
+ uuid
710
+ }
711
+
712
+ module.exports = BeaconFilter
713
+
714
+ /**
715
+ * @name
716
+ * RealTimeRequest
717
+ * @description
718
+ * A data object that contains the parameters to process realtime data of the users.
719
+ * @property {Building} building object
720
+ * @property {int} pollTime - Interval in milliseconds (minimum is 3000ms).
721
+ */
722
+
723
+ var RealTimeRequest = {
724
+ building,
725
+ pollTime,
726
+ }
727
+
728
+ module.exports = RealTimeRequest
729
+
730
+ /**
731
+ * @name
732
+ * RealTimeData
733
+ * @description
734
+ * A data object that contains information of the location of users in realtime.
735
+ * @property {Array<Location>} locations object
736
+ */
737
+
738
+ var RealTimeData = {
739
+ locations,
740
+ }
741
+
742
+ module.exports = RealTimeData