当我点击地图时,标记消失了

  • 本文关键字:消失了 地图 osmdroid
  • 更新时间 :
  • 英文 :


我使用的是asdroid 4.2和bonuspack 4.5。

my code add marker:

       Marker startMarker = new Marker(mapView);
        startMarker.setPosition(new GeoPoint(locationA,locationB));
        startMarker.setIcon(getResources().getDrawable(drawable)); 
        startMarker.setTitle("jkdfghspdifj");
        startMarker.setAnchor(Marker.ANCHOR_CENTER, 1.0f);
        MarkerInfoWindow infoWindow = new  MyInfoWindow(R.layout.bonuspack_bubble, 
                mapView,title);
        startMarker.setInfoWindow(infoWindow);

 mapView.getOverlays().add(startMarker);
 mapView.zoomToBoundingBox(boundingBox);
 mapView.invalidate(); 

一切正常:)

我点击标记,显示弹出窗口。怎么做呢,当你点击卡片本身时,标记消失了?(此时它会消失,除非再次点击它)

要关闭所有打开的弹出窗口,当点击地图上的任何地方,按照教程5,第16章。处理Map事件

要使一个打开的弹出窗口在打开另一个标记上的弹出窗口时关闭,一个简单的解决方案是在所有标记之间共享相同的infoWindow对象。

或者在onOpen中调用"InfoWindow.closeAllInfoWindowsOn(map);"。

粘贴到我的类MarkerInfoWindow中在方法onOpen

public void onOpen(Object arg0) {
    Marker current = (Marker) arg0;
    for(int i=0; i<mMapView.getOverlays().size(); ++i) {
        Overlay o = mMapView.getOverlays().get(i);
        if (o instanceof Marker) {
            Marker m = (Marker) o;
            if(m!=current)
                m.hideInfoWindow();
        }
    }
}

最新更新