1

我创建了一个演示应用程序来了解 SKMaps,它在添加注释方面效果很好。但是,现在我已将代码移至具有相同要求的实际项目中。添加的注释未显示。我尝试使用 SKAnnotationView(自定义视图)和默认注释类型,如 SKAnnotation.SK_ANNOTATION_TYPE_RED 和 SKAnnotation.SK_ANNOTATION_TYPE_PURPLE。地图中没有添加任何内容。

我在同一个屏幕上有一个自定义视图寻呼机,我删除了相同的并检查仍然没有工作。SKMapViewHolder 是动态添加的。

动态添加 SKMapViewHolder 的代码片段:

SKMapViewHolder mMapHolder = new SKMapViewHolder(OfflineMapScreen.this);
mMapHolder.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));
RelativeLayout outerLayout = (RelativeLayout) findViewById(R.id.outer_layout);
outerLayout.addView(mMapHolder);
RelativeLayout.LayoutParams rlp = (android.widget.RelativeLayout.LayoutParams) mMapHolder.getLayoutParams();
rlp.addRule(RelativeLayout.BELOW, R.id.header);
mMapHolder.setLayoutParams(rlp);

mOSMMapView = mMapHolder.getMapSurfaceView();
mOSMMapView.setMapSurfaceListener(this);
mOSMMapView.getMapSettings().setFollowerMode(SKMapFollowerMode.NONE);
mOSMMapView.getMapSettings().setMapPanningEnabled(true);
mOSMMapView.getMapSettings().setInertiaPanningEnabled(true);
mOSMMapView.getMapSettings().setCompassShown(false);
mOSMMapView.getMapSettings().setCurrentPositionShown(false);
mOSMMapView.setZoomSmooth(14f, 500);

有人有解决方案吗?添加注释的代码片段可以在这里看到:http: //postimg.org/image/sdbwzej9z/

4

1 回答 1

4

在您提供的图像中,我们注意到在设置位置时,您对纬度和经度重复使用相同的值。使用类似的东西:

 annotationDrawable.setLocation(new SKCoordinate(Double.valueOf(aPlace.getLongitude()),Double.valueOf(aPlace.getLatitude())) ;
于 2014-12-03T13:55:53.907 回答