OSMDroid ItemizedOverlayWithBubble Map带有列表的气球

时间:2013-04-10 15:09:55

标签: android map osmdroid

我正在使用OSM droid及其Bonus Pack在地图上点击兴趣点(POI)图标时创建气球弹出窗口。我能够很好地使用 ItemizedOverlayWithBubble 。但是,在某些情况下,POI图标非常接近,因此很难用于自由点击他们想要的图标。我认为解决方案是将POI合并为一个带有数字的图标。我也有这个工作。

所以我想做的是有一个 ItemizedOverlayWithBubble ,它显示一个小的可滚动和可选择的列表。单击列表中的项目会使用户进入另一个屏幕以详细说明POI。

this tutorial中找到的线索我假设下面的代码可以使用,但这不起作用,只显示标题描述中的最后一项仅载体。

非常感谢任何有关如何处理此问题的建议。

       //================================================================================================================
      /**
       * Adds a map information bubble with a selectable list if items.
       * 
       * @param location The location of the info bubble on the map,
       * @param titles The titles to go in the info bubble.
       * @param descriptions The descriptions to go in the info bubble.
       * @param mapMarkerType The map marker type.
       */
      //================================================================================================================
      public void addMapInfoList(GeoPoint location, Vector<String> titles, Vector <String> descriptions, int mapMarkerType)
      {
           new DefaultResourceProxyImpl(this.ctx);
           Drawable localDrawable = getMapMarker( 8);

           ArrayList<ExtendedOverlayItem> localArrayList = new ArrayList<ExtendedOverlayItem>();//items list

           int i = 0;
           for (String title: titles)
           {

            String description = descriptions.get(i);
            ExtendedOverlayItem localExtendedOverlayItem = new ExtendedOverlayItem(title, description, location, this.ctx);
            localExtendedOverlayItem.setImage(this.ctx.getResources().getDrawable(2130837507));
            localExtendedOverlayItem.setMarkerHotspot(OverlayItem.HotspotPlace.CENTER);
            localExtendedOverlayItem.setMarker(localDrawable);
            localArrayList.add(localExtendedOverlayItem); 
            i++;
           }

           ItemizedOverlayWithBubble<ExtendedOverlayItem> localItemizedOverlayWithBubble = new ItemizedOverlayWithBubble<ExtendedOverlayItem>(this.ctx, localArrayList, this.map);

          // ItemizedOverlayWithBubble<ExtendedOverlayItem> poiMarkers =   new ItemizedOverlayWithBubble<ExtendedOverlayItem>(this, poiItems, map);

           this.map.getOverlays().add(localItemizedOverlayWithBubble);
      }//================================================================================================================

0 个答案:

没有答案