0

次の問題があります: デバイスにオーウェン マップがあります。これで、GPS プロバイダーから実際の G​​PS 位置を取得し、このポイントをマップに描画します。以下を計算すると、DrawPoint はどこにでもあります。なにが問題ですか?

XMapScreen = 100;
YMapScreen = 200;
XMapGPS = 50.598886;
YMapGPS = 11.994318;

dLat = arg0.getLatitude();
dLon = arg0.getLongitude();

PointToDrawX = ((dLat * XMapScreen )/XMapGPS);
PointToDrawY = ((dLon * YMapScreen )/YMapGPS);
4

2 に答える 2

0

OK、私は次のものを持っています:

double dLat = arg0.getLatitude(); //GPS Position
    double dLon = arg0.getLongitude(); //GPS Position

    double latLeftLower = 50.58731;
    double lonLeftLower = 11.992316;

    double latRightUpper = 50.593509;
    double lonRightUpper = 11.998522;

    double dLatSpan = latRightUpper-latLeftLower;
    double dLonSpan = lonRightUpper-lonLeftLower;

    double dScreenWidth = ivMap.getWidth();
    double dScreenHeight = ivMap.getHeight();

    double dLatFactor = dScreenWidth/dLatSpan;
    double dLonFactor = dScreenHeight/dLonSpan;

    Log.i("GPS", "location changed: lat="+lat+", lon="+lon);
    double xDraw = ((dLat * dScreenWidth) / dLatSpan) / dLatFactor;
    double yDraw = ((dLon * dScreenHeight) / dLonSpan) / dLonFactor;

でも、そうじゃない!? なんで?

私の英語に感謝し、申し訳ありません

于 2013-07-30T19:34:06.153 に答える