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(伦敦附近的一些地方)但是在地图上它总是显示在0,0上怎么可能?如何摆脱这个?

4

1 回答 1

0

我不能说它肯定是一个答案或只是一个解决方法,直到它产生一些错误。但是打电话mapView.invalidate()有效。我在mapView.getOverlays().add(helloOverLay);它工作之后正好添加了这一行。

于 2011-01-24T04:53:08.270 回答