我想在SKMaps中显示多个批注,但不能显示多个批注。例如,如果我将以下代码放入:
SKAnnotation annotation = new SKAnnotation(0);
annotation.getLocation().setLongitude(-15.453439196571708);
annotation.getLocation().setLatitude(28.097941791638732);
annotation.setMininumZoomLevel(2);
annotation.setAnnotationType(SKAnnotation.SK_ANNOTATION_TYPE_RED);
mapView.addAnnotation(annotation, SKAnimationSettings.ANIMATION_POP_OUT);我可以在我的地图中看到注释,但是如果我把这段代码放在显示多个注释的地方,我看不到多个注释:
startPoint = currentPosition.getCoordinate();
viaPoints.clear();
viaPoints.add(new SKViaPoint(1, new SKCoordinate(28.097941791638732, -15.453439196571708)));
viaPoints.add(new SKViaPoint(2, new SKCoordinate(28.098324090242386, -15.454540411010385)));
viaPoints.add(new SKViaPoint(3, new SKCoordinate(28.097633169963956, -15.455050952732563)));
viaPoints.add(new SKViaPoint(4, new SKCoordinate(28.096485435962677, -15.455639194697142)));
destinationPoint = new SKCoordinate(28.10000809840858, -15.455355048179626);
for (SKViaPoint viaPointCurrent : viaPoints){
SKAnnotation annotation = new SKAnnotation(viaPointCurrent.getUniqueId());
annotation.getLocation().setLongitude(viaPointCurrent.getPosition().getLongitude());
annotation.getLocation().setLatitude(viaPointCurrent.getPosition().getLatitude());
annotation.setMininumZoomLevel(2);
annotation.setAnnotationType(SKAnnotation.SK_ANNOTATION_TYPE_MARKER);
mapView.addAnnotation(annotation, SKAnimationSettings.ANIMATION_POP_OUT);
}有什么问题吗?有人能帮帮我吗?
问候
发布于 2016-05-04 16:56:02
我刚刚在demo项目(2.5.1)中尝试了以下代码,覆盖了“注解”示例,所有内容都如预期的那样显示:
/**
* Draws annotations on map
*/
private void prepareAnnotations() {
List<SKViaPoint> viaPoints = new ArrayList<SKViaPoint>();
viaPoints.add(new SKViaPoint(1, new SKCoordinate(28.097941791638732, -15.453439196571708)));
viaPoints.add(new SKViaPoint(2, new SKCoordinate(28.098324090242386, -15.454540411010385)));
viaPoints.add(new SKViaPoint(3, new SKCoordinate(28.097633169963956, -15.455050952732563)));
viaPoints.add(new SKViaPoint(4, new SKCoordinate(28.096485435962677, -15.455639194697142)));
//destinationPoint = new SKCoordinate(28.10000809840858, -15.455355048179626);
for (SKViaPoint viaPointCurrent : viaPoints) {
SKAnnotation annotation = new SKAnnotation(viaPointCurrent.getUniqueId());
annotation.getLocation().setLongitude(viaPointCurrent.getPosition().getLongitude());
annotation.getLocation().setLatitude(viaPointCurrent.getPosition().getLatitude());
annotation.setMininumZoomLevel(2);
annotation.setAnnotationType(SKAnnotation.SK_ANNOTATION_TYPE_MARKER);
mapView.addAnnotation(annotation, SKAnimationSettings.ANIMATION_POP_OUT);
}
// set map zoom level
mapView.setZoom(13);
// center map on a position
mapView.centerMapOnPosition(new SKCoordinate(28.097941791638732, -15.453439196571708));
}


https://stackoverflow.com/questions/35482142
复制相似问题