0

下記の問題について早急にサポートをお願いします

私の Android アプリケーションでは、特定の場所にマーカーを表示します。

これが私のコードです

double latitude = Double.parseDouble(this.latitude);
    double longitude = Double.parseDouble(this.longitude);



    int latitudeE6 = (int) (latitude * 1e6);
    int longitudeE6 = (int) (longitude * 1e6);


    Log.i("Latitude","String = "+this.latitude+",Double = "+latitude+", int = "+latitudeE6);
    Log.i("Longitude","String = "+this.longitude+",Double = "+longitude+", int = "+longitudeE6);


    GeoPoint point = new GeoPoint(latitudeE6, longitudeE6);
    Log.i("Point a", ""+point.getLatitudeE6()+","+point.getLongitudeE6());
    OverlayItem overlay = new OverlayItem(point, title, detail);

    Drawable drawable = mapView.getContext().getResources().getDrawable(
            R.drawable.pin);


    HelloOverlayItem helloOverLay = new HelloOverlayItem(drawable, this);
    Log.i("Point b", ""+point.getLatitudeE6()+","+point.getLongitudeE6());
    helloOverLay.addOverlay(overlay);

    mapView.getOverlays().add(helloOverLay);

    MapController controller = mapView.getController();

    Log.i("Point c", ""+point.getLatitudeE6()+","+point.getLongitudeE6());

    controller.animateTo(point);
    controller.setCenter(point);
    controller.setZoom(10);

「ポイント C」ログ エントリで適切な位置の整数を取得できますが、これは 0,0 ではありません (ロンドンの近くのどこか)。これを取り除く方法は??

4

1 に答える 1

0

バグが発生するまで、それが確かに答えである、または単なる回避策であるとは言えません。しかし、呼び出しmapView.invalidate()は機能しました。この行を正確に追加しましたmapView.getOverlays().add(helloOverLay);そしてそれはうまくいきました。

于 2011-01-24T04:53:08.270 に答える