使用SKAnnotationView时如何使注释的坐标居中

时间:2014-08-19 09:00:59

标签: android annotations maps skmaps

我使用Skobbler SDK在我的mapview中添加了一个注释。 它显示完美,但我的问题是我应该如何将我的图像居中到注释的位置,因为发生的事情是我需要点击图像的左上角,以便调用onAnnotationSelected。它应该是被挖掘的中心。

这是我的代码:

private void applyAnnotationOnMapView() {
    annotation = new SKAnnotation();
    annotation.setUniqueID(18);
    annotation.setLocation(new SKCoordinate(121.048099, 14.572744));
    annotation.setMininumZoomLevel(5);
    SKAnnotationView imageView = new SKAnnotationView();
    imageView.setDrawableResourceId(R.drawable.poi_mapv2);
    imageView.setProperSize(32);
    annotation.setAnnotationView(imageView);
    mapView.addAnnotation(annotation);
}

由于

1 个答案:

答案 0 :(得分:1)

创建注释时需要使用offset属性:

试试这个(点击图像时调用onAnnotationSelected):

 final SKAnnotation annotation = new SKAnnotation(); 
            annotation.setUniqueID(2000); 
            annotation.getLocation().setLongitude(23.593701); 
            annotation.getLocation().setLatitude(46.774959); 

            // center point of the image - tapping on an annotation will 
            // depend on 
            // this value . Also the actual gps coordinates of the 
            // annotation will 
            // be in the center of the image. 
            annotation.getOffset().setX(64); 
            annotation.getOffset().setY(64); 
            annotation.setImagePath(SKMaps.getInstance().getMapInitSettings().getMapResourcesPath() 
                    + "/.Common/ccpmedium_2d_retina.png"); 
            // real size of the image in pixels 
            annotation.setImageSize(128); 

            mapView.addAnnotation(annotation);