我需要您快速协助解决下面提到的问题
在我的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怎么可能?如何摆脱这个?
答案 0 :(得分:0)
我不能说这肯定是一个答案,或者只是一个解决方法,直到它产生一些错误。但是呼叫mapView.invalidate()
有效。我在mapView.getOverlays().add(helloOverLay);
之后完全添加了这一行并且它有效。