POI Helper
POI HELPER
To provide you with a convenient way to handle POI representation there is a poiCategoryHelper property in NMSdk singleton instance. This property is a NMPoiCategoryHelper instance. There are three groups in with all the POIs are divided in Navmii SDK:
road events
speed cameras
all the other POIs
You can retrieve a NSArray of NMPoiCategories belonging to each of this groups separately using these readonly properties: roadEventCategories, speedCameraCategories and poiCategories respectively. For the info on NMPoiCategory please refer to POI CATEGORY section.
NSArray <NMPoiCategory *> *roadEvents = [NMSdk sharedInstance].poiCategoryHelper.roadEventCategories;
NSArray <NMPoiCategory *> *speedCameras = [NMSdk sharedInstance].poiCategoryHelper.speedCameraCategories;
NSArray <NMPoiCategory *> *poiCategories = [NMSdk sharedInstance].poiCategoryHelper.poiCategories;The NMPoiHelper allows to:
check if a category with the ID number exists
check if a category is displayed on the map
make a category displayed/hidden on the map
get an UIImage for a category
get a NMPoiCategory from a NSInteger representing the category ID number
NMPoiCategoryHelper *helper = [NMSdk sharedInstance].poiCategoryHelper;
//logs out 1 if the category exists or 0 if it doesn't
NSLog(@"POI category with number %d exists - %d", someInt, (int)[helper isPoiCategoryExist:someInt]);
//logs out 1 if the category is displayed on the map and 0 if it isn't
NSLog(@"POI category with number %d is shown on map - %d", number, (int)[helper isPoiCategoryDisplayedOnMap:number]);
//hides all POIs belonging to the category
[helper setPoiCategory:number displayedOnMap:NO];
//fetches the image associated with the category
UIImage *image = [helper poiCategoryImage:categoryNumber];
//creates a NMPoiCategory from a number
NMPoiCategory *poiCategory = [helper poiCategoryById:categoryNumber];POI CATEGORY
NMPoiCategory has the following info:
name
category ID number
zoom level
a BOOL value indicating if POIs belonging to the category should be displayed on the map
NSLog(@"category name - %@", category.name);
NSLog(@"category ID number - %d", (int)category.categoryId);
NSLog(@"category zoom level - %d", category. zoomLevel);
NSLog(@"should be displayed on map - %d", category.shouldDisplayOnMap);You can instantiate a NMPoiCategory using initWithName:categoryId:zoomLevel:shouldDisplayOnMap: method.