×
Namespaces

Variants
Actions
(Difference between revisions)

How to manage landmark categories

From Nokia Developer Wiki
Jump to: navigation, search
savaj (Talk | contribs)
hamishwillee (Talk | contribs)
m (Move to correct Category:Location)
Line 1: Line 1:
[[Category:Symbian C++]]
+
[[Category:Location]][[Category:Symbian C++]]
[[Category:Code Examples]]
+
[[Category:Location Based Services]]
+
[[Category:How To]]
+
 
The following code snippet demonstrates how to append selected categories to the specified landmark
 
The following code snippet demonstrates how to append selected categories to the specified landmark
  
Line 71: Line 68:
 
* [[How to obtain and save current location]]
 
* [[How to obtain and save current location]]
 
* [[Retrieving location information]]
 
* [[Retrieving location information]]
 +
 +
[[Category:Code Examples]]
 +
 +
[[Category:How To]]

Revision as of 02:08, 18 March 2011

The following code snippet demonstrates how to append selected categories to the specified landmark

It is necessary to include the following headers:

#include <clmkcategoryselectordlg.h>
#include <tlmkitemiddbcombiinfo.h>

And link against:

LIBRARY  lmkcommonui.lib
LIBRARY eposlandmarks.lib
LIBRARY lbs.lib

Source:

CPosLandmark* lm = ... // specify your landmark
 
// prepare dialog
CLmkCategorySelectorDlg * selectCategoriesDlg = CLmkCategorySelectorDlg :: NewL( ETrue );
selectCategoriesDlg->SetMopParent( this );
RArray< TLmkItemIdDbCombiInfo > arrCategories;
CleanupClosePushL( arrCategories );
 
// select array of categories
if( selectCategoriesDlg->ExecuteLD( arrCategories ) != 0 )
{
for( int i = 0; i < arrCategories.Count(); i++ )
{
// get current category ID
TPosLmItemId categoryId = arrCategories[ i ].GetItemId();
if( categoryId != KPosLmNullItemId )
lm->AddCategoryL( categoryId );
}
delete arrCategories[0].GetLmDb(); // fixing memory leak
}
CleanupStack::PopAndDestroy(); // arrCategories


And the following code snippet demonstrates how to remove all categories from the specified landmark:

CPosLandmark* lm = ... // specify your landmark
 
RArray< TPosLmItemId > categories;
// read all landmark categories
lm->GetCategoriesL( categories );
for( int i = 0; i < categories.Count(); i++ )
{
TPosLmItemId categoryId = categories[ i ];
// remove current category
lm->RemoveCategory( categoryId );
}
categories.Close();

Internal Links

39 page views in the last 30 days.