Вот реализация SQL для вычисления расстояния в км,
SELECT UserId, ( 3959 * acos( cos( radians( your latitude here ) ) * cos( radians(latitude) ) *
cos( radians(longitude) - radians( your longitude here ) ) + sin( radians( your latitude here ) ) *
sin( radians(latitude) ) ) ) AS distance FROM user HAVING
distance < 5 ORDER BY distance LIMIT 0 , 5;
. Для получения дополнительной информации о реализации путем программирования языка вы можете просто пройти через скрипт php, приведенный здесь .
Если это 4.6 RIM OS, почему бы вам не использовать Border :
BasicEditField roundedBorderEdit = new BasicEditField();
XYEdges padding = new XYEdges(15, 15, 15, 15);
int color = Color.CRIMSON;
int lineStyle = Border.STYLE_DOTTED;
Border roundedBorder = BorderFactory.createRoundedBorder(padding,
color, lineStyle);
roundedBorderEdit.setBorder(roundedBorder);
BasicEditField bevelBorderEdit = new BasicEditField();
XYEdges edges = new XYEdges(10, 10, 10, 10);
XYEdges outerColors = new XYEdges(Color.BLACK, Color.WHITE,
Color.BLACK, Color.WHITE);
XYEdges innerColors = new XYEdges(Color.WHITE, Color.BLACK,
Color.WHITE, Color.BLACK);
Border bevelBorder = BorderFactory.createBevelBorder(edges,
outerColors, innerColors);
bevelBorderEdit.setBorder(bevelBorder);
Если ваша BlackBerry OS версии 4.5 и старше, вы можете попробовать нарисовать растровое изображение с рамкой это, при событии рисования:
class BorderedEdit extends BasicEditField
{
Bitmap mBorder = null;
public BorderedEdit(Bitmap borderBitmap) {
mBorder = borderBitmap;
}
protected void paint(Graphics graphics) {
graphics.drawBitmap(0, 0, mBorder.getWidth(),
mBorder.getHeight(), mBorder, 0, 0);
super.paint(graphics);
}
}
переопределить метод рисования следующим образом:
editField= new BasicEditField(..parameters here..) {
public void paint(Graphics g) {
super.paint(g);
g.drawRect(0, 0, getWidth(), getHeight());
}
};