Namespaces
Variants
Actions

Editando coordenadas

Jump to: navigation, search
Dados do artigo

Exemplo de código
Compatibilidade
Plataforma(s): S60 3rd Edition S60 3rd Edition FP2 and later

Artigo
Tradução:
Originado de Editing Coordinates
Última alteração feita por lpvalente em 05 Feb 2012
ID   Creation date August 9, 2009
Platform S60 3rd Edition S60 3rd Edition FP2 and later Tested on devices
Category Symbian C++ Subcategory Location


Contents

Resumo

Este artigo fornece um exemplo para mostrar como as coordenadas de latitude e longitude podem ser editadas usando GUI. Para proporcionar facilidades a edição CAknLocationEditor pode ser utilizado. Veja mais sobre CAknLocationEditor aqui.

CAknLocationEditor fornece um meio para editar uma latitude ou coordenar uma longitude, mas não tanto. Para editar ambos, este controle deve ser colocado em um CAknMultilineDataQueryDialog onde a primeira e a segunda linha contém a latitude e a longitude respectivamente.

Arquivo MMP

As seguintes capacidades e as bibliotecas são exigidas:

CAPABILITY      none
LIBRARY lbs.lib // para TPosition
LIBRARY avkon.lib // para CAknLocationEditor e CAknMultiLineDataQueryDialog
LIBRARY eikctl.lib eikcoctl.lib uiklaf.lib form.lib

Arquivos

O recurso de ficheiro define a latitude e longitude dos editores para a entrada de dados caixa de diálogo. Lembre-se de incluir eikctl.rsg uma vez que este tem a definição de R_EIK_LATITUDE_AND_LONGITUDE.

RESOURCE DIALOG r_enter_coordinates_query
{
flags = EGeneralQueryFlags;
buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
items =
{
DLG_LINE
{
type = EAknCtMultilineQuery;
id = EMultilineFirstLine;
control = AVKON_DATA_QUERY
{
layout = EMultiDataFirstLocationEd;
label = "Latitude";
control = LATITUDE_EDITOR
{
flags = ELocationEdFlagLatitude;
latlongresourceid = R_EIK_LATITUDE_AND_LONGITUDE;
};
};
},
DLG_LINE
{
type = EAknCtMultilineQuery;
id = EMultilineSecondLine;
control = AVKON_DATA_QUERY
{
layout = EMultiDataSecondLocationEd;
label = "Longitude";
control = LONGITUDE_EDITOR
{
flags = ELocationEdFlagLongitude;
latlongresourceid = R_EIK_LATITUDE_AND_LONGITUDE;
};
};
}
};
}

Código fonte

Para invocar o editor, é então um simples caso de apenas criar uma instância da CAknMultiLineDataQueryDialog com o recurso a partir de cima e de um objeto e o TPosition diálogo será exibido permitindo a coordenada de ser editada.

   TPosition pos;
pos.SetCoordinate(0.0, 0.0);
CAknMultiLineDataQueryDialog* dlg = CAknMultiLineDataQueryDialog::NewL(pos);
if (dlg->ExecuteLD(R_ENTER_COORDINATES_QUERY))
{
HBufC* latitude = CAknLocationEditor::DisplayableLocationL( pos, CAknLocationEditor::ELatitudeOnly );
CleanupStack::PushL(latitude);
HBufC* longitude = CAknLocationEditor::DisplayableLocationL( pos, CAknLocationEditor::ELongitudeOnly );
CleanupStack::PushL(longitude);
 
TBuf<255> msg;
msg.Format(_L("coordinates were %S %S"), latitude, longitude);
 
CleanupStack::PopAndDestroy(2, latitude);
}

Pré-condição

O usuário precisa fornecer e editar uma coordenada.

Exemplos de código

This page was last modified on 5 February 2012, at 16:08.
148 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved