×
Namespaces

Variants
Actions
(Difference between revisions)

How to manage landmark categories

From Nokia Developer Wiki
Jump to: navigation, search
savaj (Talk | contribs)
savaj (Talk | contribs)
Line 61: Line 61:
  
 
== Internal Links ==
 
== Internal Links ==
*[[How to select and show a landmark]]
+
* [[How to select and show a landmark]]
*[[KIS000784 - Landmarks category selector dialog leaks memory]]
+
* [[KIS000784 - Landmarks category selector dialog leaks memory]]
 +
* [[Landmarks/web client example using Carbide.c++ and UI designer]]
 +
* [[How to use Landmarks API]]
 +
* [[How to compact local landmark databases]]
 +
* [[How to export landmarks from database to file]]
 +
* [[How to import landmarks from file to database]]
 +
* [[Execution of landmark operations]]
 +
* [[How to obtain and save current location]]
 +
* [[Retrieving location information]]

Revision as of 22:35, 31 March 2009

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

42 page views in the last 30 days.
×