如何将坐标转换为BB屏幕像素?

时间:2011-03-23 16:15:56

标签: java google-maps blackberry gps coordinates

我正在尝试编写一个描绘用户走过的路的代码。我现在可以获得用户已经通过的所有坐标,我必须实现绘图之路。但在此之前,我必须知道如何将真实世界坐标作为像素传递给BB屏幕。你能给我一些关于它的信息吗?

谢谢

这是我获得道路所有坐标的代码。

public RoutePaint() {

    locations = new Vector();
    locVector = new ButtonField("Locations Vector",
            ButtonField.CONSUME_CLICK);
    locVector.setChangeListener(this);

    pixel.setChangeListener(this);
    add(locVector);
    add(pixel);

    myCriteria = new BlackBerryCriteria(GPSInfo.GPS_MODE_AUTONOMOUS);
    try {
        myProvider = (BlackBerryLocationProvider) LocationProvider
                .getInstance(myCriteria);

    } catch (LocationException e) {

        e.printStackTrace();
    }
    myProvider.setLocationListener(this, 3, -1, -1);



}

public void locationUpdated(LocationProvider provider, Location location) {
    // TODO Auto-generated method stub
    point = new Point();
    latitude = location.getQualifiedCoordinates().getLatitude();
    altitude = location.getQualifiedCoordinates().getAltitude();
    longitude = location.getQualifiedCoordinates().getLongitude();
    velocity = location.getSpeed();
    point.x = latitude;
    point.y = longitude;

    locations.addElement(point);

    invalidate();
}

1 个答案:

答案 0 :(得分:0)

以下是将坐标转换为屏幕像素的代码:

             XYPoint _xypoint = new XYPoint();
             Coordinates coords = getCoordinates();
         coords.setLatitude(Double.parseDouble((String) _latitude);
         coords.setLongitude(Double.parseDouble((String) _longitude);


         convertWorldToField(coords,_xypoint);
             int x = _xypoint.x;
             int y = _xypoint.y;

我们假设纬度和经度分别保存在变量_latitude和_longitude中。整数变量x和y包含坐标转换后的屏幕像素。