×
Namespaces

Variants
Actions

Editando coordenadas

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngAquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.

Acredita-se que este artigo ainda seja válido no contexto original (quando ele foi escrito)

Article Metadata

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

Artigo
Tradução:
Originado de Editing Coordinates
Por maiconherverton
Última alteração feita por lpvalente em 28 Mar 2014
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 28 March 2014, at 15:21.
60 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×