Known Issues¶
The purpose of this document is to address the known issues of the Mobile SDK and Pointr Maps app version 8.x - and propose fixes to be applied.
Please refer to this document if you are facing an issue with the Pointr Mobile SDK and/or Pointr Maps app v8.x. If a fix is introduced for a known issue in the later versions, it will also be included here.
SDKs¶
[Android] Bluedot Limitations of the Devices without Gyroscope¶
Pointr’s Mobile SDK positioning engine requires a gyroscope sensor to produce high accuracy blue dot. All iOS phones have a gyroscope, while some low-tier or older Android phones may lack it. The engine can still produce a blue dot for phones without a gyroscope, however the following limitations apply:
- The blue dot will not have a heading cone.
- The blue dot may be jumpy with a low update rate (once per second).
- The size of the accuracy circle may change frequently.
- There may be undershooting or overshooting while walking, since the engine’s pedestrian dead reckoning features do not work without a gyroscope.
- Indoor-outdoor transitions may be abrupt.
[IOS, Android] Issues with style v8.7.5 for older SDK versions¶
Affected Versions: v8.x
Reason: Latest style of v8.7.5 might cause the following issues for earlier SDK versions: - For IOS pre 8.11.0 versions, floor plan with the drawn path might disappear when zoomed out during wayfinding mode - For Android pre 8.11.0 versions, floor plan might leak out of building outline on buildings with basement floor
Resolution: Style v8.7.5 should only be used with the latest SDK versions. For earlier SDK versions, it is recommended not to change the current working style.
[IOS, Android] How to Trigger Building Enter/Exit for Unconventional Buildings¶
Affected Versions: v8.x
Reason: Building entry/exit logic might not work properly for a building that is on a slope and has entrance from multiple levels when you create level geofences.
Resolution: In the case of unconventional buildings, even when creating level-specific geofences for each floor, if a user doesn’t open the app on the ground level, ascends three levels and then opens the app, the SDK may miss the level geofence. Therefore, creating a global geofence for the building enter/exit proves to be a safer and more robust approach for such buildings.
Please check here for detailed information about Geofence Triggers.
[IOS, Android] Limitations of multi-language support¶
Affected versions: v8.11
The following is a list of limitations for multi-language support in the SDKs:
-
Site, Building and Level Titles do not support multi-language translation, but they can be entered in any language for the default selected language.
- Resolution: Multi-language support with dynamically changing content from one language to another for Site, Building and Level titles shall be supported in later releases.
-
Distances in Search results are not displayed in Arabic.
- Resolution: They are displayed as latin numerals, Arabic numerals shall be supported in later releases.
-
Transition Names are only displayed in English. (e.g. “Escalator”).
- Resolution: Multi-language support for Transition Names shall be supported in later releases
-
Quick Access Category titles do not support translation, but they can be entered in any language for the default selected language.
- Resolution: Multi-language support with dynamically changing content from one language to another for Quick Access Categories shall be supported in later releases.
[Android] No SVG image type support and http link support for POI cards¶
Affected versions: v8.x
Reason: Android SDK does not support rendering of SVG images on POI cards. Also the URLs for images should be https
links.
Resolution: Currently, there is no resolution to use SVG type images via Android SDK. When Android SDK is to be supported, other image types such as PNG or JPG should be used. The URL links should start with https
.
[Android] When PTRMapWidgetFragment is hosted in a fragment, the MapWidget does not appear when the fragment is destroyed and re-created.¶
Affected versions: V8.0.x, V8.1.x, V8.2.x, V8.3.x
Reason: This is due to the fact that PTRMapWidgetFragment stays as a ghost reference in the backstack, and it cannot be presented properly. When it is hosted in an activity, it is cleaned properly.
Note
This only affects the host application when the PTRMapWidgetFragment is hosted in another Fragment. It works fine when it is hosted in an Activity
Resolution:
On the onDestroy callback of the fragment which hosts the PTRMapWidgetFragment, include the following lines;
```java
val pointrMapWidgetFragment = requireActivity().supportFragmentManager.findFragmentByTag("NewMapWidgetFragment_tag")
if (pointrMapWidgetFragment != null) {
Plog.i("There is already a pointr map widget fragment instance, we should remove it.")
requireActivity().supportFragmentManager.beginTransaction().remove(pointrMapWidgetFragment).commit()
}
```
This will clean the old reference from the backstack, allowing to create a correct fresh instance of the MapWidget.
So, the resulting callback of onDestroy would look like the following;
```java
override fun onDestroy() {
super.onDestroy()
....
....
val pointrMapWidgetFragment = requireActivity().supportFragmentManager.findFragmentByTag("NewMapWidgetFragment_tag")
if (pointrMapWidgetFragment != null) {
Plog.i("There is already a pointr map widget fragment instance")
requireActivity().supportFragmentManager.beginTransaction().remove(pointrMapWidgetFragment).commit()
}
}
```
[MapWidget] [IOS, Android] The content of the map widget does not update if there was a data update on Pointr Cloud¶
Affected versions: v8.x
When there is a data update while map widget is open, the content on the map widget is not automatically updated. The updates only get reflected the next time map widget is opened.
[IOS, Android, Web SDK] Multiple site pins are displayed at maximum zoom out¶
Affected versions: v6.x, v7.x, v8.x
Reason: Mapbox is a provider of customized online maps designed for integration into websites and applications. Pointr collaborates with Mapbox for mapping solutions and the reason for this problem is the limitation of Mapbox.
Resolution: At present, we do not have a solution for this problem. We are currently researching ways to recover full features across tiles, but that will require a major vector tiles spec revision and is not feasible in the short term.
[Android] Crash due to java.lang.IncompatibleClassChangeError: Found interface com.google.android.gms.location.FusionLocationProviderClient…¶
Affected versions: V8.9 and earlier versions
Reason: Pointr SDK uses 16.0.0 version of Google play-services-location library. APIs of play-services-location library may change on newer versions. If your application uses a newer version of this library, it may break the APIs that Pointr SDK uses and eventually may cause crashes.
Resolution: For V8.9 or earlier versions, please revert your library to v16.0.0 to solve this problem. Alternatively, you can upgrade to V8.10+ which supports AndroidX with new support libraries.