0

在我的应用程序中,有一张地图,地图上有很多别针。当用户点击 pin 时,被触摸的 pin 的名称会出现在气球中。我想要的是在页面加载时显示所有气球,而不是在用户触摸图钉时。我已经编写了 ItemizedOverlayWithBubble 类,它覆盖了一个名为 onSingleTapUpH​​elper 的方法:

@Override protected boolean onSingleTapUpHelper(final int index, final Item item, final MapView mapView) {
        showBubbleOnItem(index, mapView, true);
        return true;
    }

里面还有另一个方法调用 showBubbleOnItem(index, mapView, true);

public void showBubbleOnItem(final int index, final MapView mapView, boolean panIntoView) {
        ExtendedOverlayItem eItem = (ExtendedOverlayItem)(getItem(index)); 
        mItemWithBubble = eItem;
        if (eItem != null){
            eItem.showBubble(mBubble, mapView, panIntoView);
            //setFocus((Item)eItem);
        }
    }

我玩了一段时间,看看我是否可以让它在页面加载时工作,但没有运气。任何帮助是极大的赞赏。

4

1 回答 1

1

可能您的观点彼此重叠。特别是如果您GeoPoint从 11,1 和 12,2 和 13,3 之类的差异很小的整数创建 s,这将导致重叠的叠加项目

使用时请查看此处的 包 org.osmdroid.util.GeoPoint

GeoPoint(final int aLatitudeE6, final int aLongitudeE6)

您的值不会乘以 1E6(即 1.000.000)所以这两个点之间没有位置差异MapView

GeoPoints(11,1)GeoPoints(12,2)

于 2013-11-05T20:23:59.793 回答