在android中加载页面加载带有气泡的地图

时间:2013-07-29 08:57:37

标签: android google-maps maps osmdroid itemizedoverlay

在我的应用程序中有一张地图,地图上有很多针脚。当用户点击针脚时,触摸的针脚的名称将出现在气球中。我想要的是在页面加载时显示所有气球,而不是在用户触摸引脚时。我编写了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);
        }
    }

我玩了一段时间,看看我是否可以在页面加载时工作,但没有运气。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您的积分可能相互重叠。特别是如果你从11,1和12,2和13,3等小差异的整数创建GeoPoint,这将覆盖重叠的项目

看看这里 package org.osmdroid.util.GeoPoint 当你使用

GeoPoint(final int aLatitudeE6, final int aLongitudeE6)

您的价值不会乘以1E6(即1.000.000) 因此MapView

上的这两点之间没有区别

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