代码之家  ›  专栏  ›  技术社区  ›  Ravi Parmar

这里地图保费计划Map.InfoBubbleAdapter()、hideInfoBubble、getInfoBubbleContents和isInfoBubbleVisible是否丢失?

  •  0
  • Ravi Parmar  · 技术社区  · 6 年前

    我试图在用户单击标记对象时显示自定义布局。 基本包代码正常工作。

    然而,当我转向高级包时,它没有 Map.InfoBubbleAdapter()、hideInfoBubble、getInfoBubbleContents和isInfoBubbleVisible。

    当用户点击marker时,我甚至无法打开infoBubble。

    这是我使用的basicpack中自定义视图的代码。

      hereMap.get(new Map.InfoBubbleAdapter() {
                                    @Override
                                    public View getInfoBubbleContents(MapMarker mapMarker2) {
                                       return null;
                                    }
    
                                   @Override
                                    public View getInfoBubble(MapMarker mapMarker2) {
                                        View view = LayoutInflater.from(getContext()).inflate(R.layout.layout_marker_infowindow, null);
                                        TextView infoWindowText = view.findViewById(R.id.infoMessage);
                                        infoWindowText.setText(mapMarker2.getTitle());
                                       return view;
                                    }
                               });
    

    这是我在点击标记时使用的代码

      @Override
            public boolean onMapObjectsSelected(List<ViewObject> objects) {
    
                for (ViewObject object : objects) {
                    if (object.getBaseType() == ViewObject.Type.USER_OBJECT && ((MapObject) object).getType() == MapObject.Type.MARKER) {
                        MapMarker mapMarker = (MapMarker) object;
                        System.out.println("Title is................." + mapMarker.getTitle());
    
                        if (!mapMarker.isInfoBubbleVisible()) {
                            mapMarker.getInfoBubbleContents();
                        } else {
                            mapMarker.hideInfoBubble();
                        }
                        return true;
                    }
                }
    

    当用户单击标记时,如何显示自定义信息气泡?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Marco    6 年前

    您应该改用粘滞地图覆盖: https://developer.here.com/documentation/android-premium/api_reference_java/com/here/android/mpa/mapping/MapOverlay.html

    然后通过将MapOverlay实现添加到映射中地图.addMapOverlay: https://developer.here.com/documentation/android-premium/api_reference_java/com/here/android/mpa/mapping/Map.html#addMapOverlay-com.here.android.mpa.mapping.MapOverlay-

    背后的想法是,你可以使用一个普通的视图(非常灵活,你自己的设计,等等)并将其粘贴到地图上的某个位置(然后地图会将其保持在原位)。这使您在逻辑和设计上具有充分的灵活性。