需要有关地图标记放置的帮助

时间:2011-01-22 07:57:18

标签: android android-maps itemizedoverlay

我需要您快速协助解决下面提到的问题

在我的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);

我可以在“Point C”日志条目中获得正确的位置整数,这不是0,0(伦敦附近的某些地方)但是在地图中它始终显示0,0怎么可能?如何摆脱这个?

1 个答案:

答案 0 :(得分:0)

我不能说这肯定是一个答案,或者只是一个解决方法,直到它产生一些错误。但是呼叫mapView.invalidate()有效。我在mapView.getOverlays().add(helloOverLay);之后完全添加了这一行并且它有效。