VisioMove SDK (Android)  2.1.22
 All Classes Functions Variables Pages
VgIMapModule Class Reference
Inheritance diagram for VgIMapModule:
Inheritance graph

Public Member Functions

void addListener (VgIPlaceListenerRefPtr pListener)
 
void removeListener (VgIPlaceListenerRefPtr pListener)
 
void setPlaceName (String pID, String pName)
 
void setPlaceIcon (String pID, VgPlaceIconDescriptor pPlaceIconDescriptor)
 
boolean getPlaceName (String pID, java.lang.String[] pPlaceName)
 
boolean queryPlaceDescriptor (String pID, VgPlaceDescriptor pPlaceDescriptor)
 
boolean queryPOIDescriptor (String pID, VgPOIDescriptor pPOIDescriptor)
 
void queryAllPlaceIDs (VgStringVector pPlaceIDs)
 
boolean getLayerForPosition (VgPosition pPos, java.lang.String[] pLayerNameContainingPosition)
 
boolean getHeightRangeForLayer (String pLayerName, float[] pHeightMin, float[] pHeightMax)
 
void setPlaceColor (String pID, VgPlaceColorDescriptor pColorDescriptor)
 
void setPlaceColor (VgStringVector pIDs, VgPlaceColorDescriptor pColorDescriptor)
 
void setPlaceColor (String pChangesCsv)
 
void resetPlaceColor (String pID)
 
void resetPlaceColor (VgStringVector pIDs)
 
boolean getGeofences (VgStringVector pPoiIds)
 
boolean getGeofences (VgStringSet pPoiIds)
 
boolean getGeofences (VgPosition pPosition, VgStringVector pGeofenceIDs)
 
boolean getGeofences (VgPosition pPosition, String pLayerName, VgStringVector pGeofenceIDs)
 
- Public Member Functions inherited from VgIModule
String getName ()
 

Detailed Description

The VgIMapModule defines all the needed interfaces to interact with the map module.

Member Function Documentation

void VgIMapModule.addListener ( VgIPlaceListenerRefPtr  pListener)

Adds a place listener.

Parameters
pListenerThe place listener to be added.
boolean VgIMapModule.getGeofences ( VgStringVector  pPoiIds)

Retrieve the ids of all the pois that have at least a geofence.

Deprecated:
At version 2.1.19 the version taking a std::set is prefered.
Parameters
pPoiIdsVector of poi ids to feed with results.
Version
2.1.4
Returns
true if geofences where found and added.
boolean VgIMapModule.getGeofences ( VgStringSet  pPoiIds)

Retrieve the ids of all the pois that have at least a geofence.

Parameters
pPoiIdsSet of poi ids to feed with results.
Version
2.1.19
Returns
true if geofences where found and added.
boolean VgIMapModule.getGeofences ( VgPosition  pPosition,
VgStringVector  pGeofenceIDs 
)

Retrieve the names of the geofences that the position belongs to. It uses the position's mZOrAltitude to determine which layers to search.

Parameters
pPositionsearch position, it will use the position's mZOrAltitude to determine which layers to search
pGeofenceIDslist of IDs in no particular order.
Version
2.1.4
Returns
true if geofences where found and added.
boolean VgIMapModule.getGeofences ( VgPosition  pPosition,
String  pLayerName,
VgStringVector  pGeofenceIDs 
)

Retrieve the names of the geofences that the position belongs to. It ignores the mZOrAltitude component of the position and forces search only in provided layer.

Parameters
pPositionsearch position.
pLayerNamelayer name, it will only search the geofences in that layer.
pGeofenceIDslist of IDs in no particular order.
Version
2.1.4
Returns
true if geofences where found and added.
boolean VgIMapModule.getHeightRangeForLayer ( String  pLayerName,
float[]  pHeightMin,
float[]  pHeightMax 
)

Gets the height range (min and max) for a given layer. These ranges may overlap between floors.

Note
the difference between pHeightMax and pHeightMin will be the altitude of the floor.
Parameters
pLayerNameThe layer who's height range is of interest
pHeightMinAn output parameter containing the minimum height (i.e. the floor) of pLayerName, this is used for indoor positioning. usually floor altitude minus 6.0
pHeightMaxAn output parameter containing the maximum height (i.e. the ceiling) of pLayerName, this is used for indoor positioning. usually floor altitude plus 6.0
Version
2.0
2.1.4 updated documentation to say only the average or pHeightMin and pHeightMax is reliable and that they may overlap with different floors.
Returns
true if output range parameters have been correctly assigned, otherwise false.
boolean VgIMapModule.getLayerForPosition ( VgPosition  pPos,
java.lang.String[]  pLayerNameContainingPosition 
)

Finds the best fitting layer for a given position.

Warning
This method ignores the VgEngine::VgPosition::mSRS member. It will use solely the mZOrAltitude member to determine the layer.

This means that the positions returned by picking in VgIPlaceListener subclasses will not be suitable to determine the layer in which the "click" occured, instead use the VgMapModule::VgPlaceDescriptor structure.

This behavior will change in the near future to take SRSs into account.

Parameters
pPosthe position of interest
pLayerNameContainingPositionA string which will be populated with the name of the best fitting layer.
Version
2.0
2.1.8 added warning about Multi-Buildings datasets.
Returns
true if a corresponding layer has been found, otherwise false. Note on Multi-building datasets, where many layers may share the same altitude this method will only return one layer: possible solutions are:Use getRoutingNode() and then VgIRoutingNode::getLayerName()Use getHeightRangeForLayer for all the layers to determine which layers cover the target altitudeAdd geofences to all the layers of your map, and use getGeofences with a position.
boolean VgIMapModule.getPlaceName ( String  pID,
java.lang.String[]  pPlaceName 
)

Gets a place name according to its ID.

Parameters
pIDthe place ID.
pPlaceNamethe place name.
Returns
false if pID does not exist.
void VgIMapModule.queryAllPlaceIDs ( VgStringVector  pPlaceIDs)

Queries all place IDs. This call can be made anytime after VgEngine::VgIDatabase::loadConfiguration()

Parameters
pPlaceIDsA string vector which will be populated with place IDs for the current dataset.
Version
2.1.0 Updated documentation, call is valid anytime after loadConfiguration()
boolean VgIMapModule.queryPlaceDescriptor ( String  pID,
VgPlaceDescriptor  pPlaceDescriptor 
)

Queries a place descriptor.

Deprecated:
replaced with queryPOIDescriptor
Parameters
pIDthe place ID.
Parameters
pPlaceDescriptorthe place descriptor.
Returns
true if the place descriptor was found, otherwise false.
boolean VgIMapModule.queryPOIDescriptor ( String  pID,
VgPOIDescriptor  pPOIDescriptor 
)

Queries a POI descriptor. A POI Descriptor contains information like the layername, center, bounding positions (i.e. footprints), preferred heading of a POI. The bounding positions can be used with VgEngine::VgICamera::getViewpointFromPositions with some padding to obtain a nice fitting viewpoint for a given POI. If you are using this call only to find the layername of a POI, you may consider using VgRoutingModule::VgIRoutingSolver::getRoutingNode

Parameters
pIDthe POI ID.
pPOIDescriptorthe POI descriptor.
See also
VgRoutingModule::VgIRoutingSolver::getRoutingNode
Version
2.1.3
Returns
true if the POI descriptor was found, otherwise false.
void VgIMapModule.removeListener ( VgIPlaceListenerRefPtr  pListener)

Removes a place listener.

Parameters
pListenerThe place listener to be removed.
void VgIMapModule.resetPlaceColor ( String  pID)

Resets the original color of a place.

There are no effect if the place color has not been changed.

Parameters
pIDThe place ID.
void VgIMapModule.resetPlaceColor ( VgStringVector  pIDs)

Resets the original color of a list of place.

There are no effect on places whose color has not been changed.

Parameters
pIDsA list of place IDs.
void VgIMapModule.setPlaceColor ( String  pID,
VgPlaceColorDescriptor  pColorDescriptor 
)

Sets a place color according to its ID.

Remarks
With non-extruded maps, only the VgPlaceColorDescriptor.mTopColor will be used.
It is advised to achieve the best performance to call setPlaceColor after loadConfiguration, but before loadDataset when updating many places.
It is advised to use this method when setting a single place with a unique color.
Warning
The use of this features requires that the map be specially configured, please contact Visioglobe if you use this feature.
Parameters
pIDThe place ID to color.
pColorDescriptorThe place color descriptor to be set.
void VgIMapModule.setPlaceColor ( VgStringVector  pIDs,
VgPlaceColorDescriptor  pColorDescriptor 
)

Sets a place color according to a list of place ID's.

Remarks
With non-extruded maps, only the VgPlaceColorDescriptor.mTopColor will be used.
It is advised to achieve the best performance to call setPlaceColor after loadConfiguration, but before loadDataset when updating many places.
It is advised to use this method when setting two or more places with the same color.
Warning
The use of this features requires that the map be specially configured, please contact Visioglobe if you use this feature.
Parameters
pIDsthe list of place IDs to color.
pColorDescriptorthe place color descriptor to be set.
void VgIMapModule.setPlaceColor ( String  pChangesCsv)

Sets multiple places' colors in one call.

Remarks
With non-extruded maps, only the top color will be used.
It is advised to achieve the best performance to call setPlaceColor after loadConfiguration, but before loadDataset when updating many places.
It is advised to use this method when setting two or more places with the different colors.
Warning
The use of this features requires that the map be specially configured, please contact Visioglobe if you use this feature.
Parameters
pChangesCsvChanges encoded in a CSV string. Format is(<id>,<topColor>[,<bottomColor>]\n)* . Colors are given in HTML-style hex format.
Version
2.1.22
void VgIMapModule.setPlaceIcon ( String  pID,
VgPlaceIconDescriptor  pPlaceIconDescriptor 
)

Sets a place icon according to its ID. The Texture it adds will be available on all datasets and will only be released if a different Texture is set for the same place ID or if a different configuration is loaded.

Remarks
adding an icon changes the orientation behaviour of the label, and makes it always camera facing.
if there is already a place name associated with the ID, the size of the label will be changed to match the size of the icon.
It is advised to achieve the best performance to call setPlaceIcon after loadConfiguration, but before loadDataset when updating many places.
This method cannot yet change icons that are initially on the map. This can be done via VgQuery.
This method deletes and creates a new VgPoint associated with the ID. If one holds a ref to a point before calling this method on its ID, the point will remain valid but detached from its layer and another one (with same ID) will be displayed.
Parameters
pIDthe place ID.
pPlaceIconDescriptorThe place icon descriptor
Version
2.1.0 Updated documentation.
void VgIMapModule.setPlaceName ( String  pID,
String  pName 
)

Sets a place name according to its ID.

Remarks
It is advised to achieve the best performance to call setPlaceIcon after loadConfiguration, but before loadDataset when updating many places.
This method deletes and creates a new VgPoint associated with the ID. If one holds a ref to a point before calling this method on its ID, the point will remain valid but detached from its layer and another one (with same ID) will be displayed.
Parameters
pIDthe place ID.
pNamethe place name to be set.

The documentation for this class was generated from the following file:
VisioMove 2.1.22, Visioglobe® 2016