这里的地图高级计划Map.InfoBubbleAdapter(),hideInfoBubble,getInfoBubbleContents和isInfoBubbleVisible丢失了吗?

时间:2018-11-21 09:38:49

标签: android here-api

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

但是,当我转移到高级套餐时,它没有 Map.InfoBubbleAdapter(),hideInfoBubble,getInfoBubbleContents和isInfoBubbleVisible。

当用户也单击标记时,我什至无法打开infoBubble。

这是我使用的基本包中用于自定义视图的代码。

  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 个答案:

答案 0 :(得分:0)

您应该改用粘性地图叠加层: https://developer.here.com/documentation/android-premium/api_reference_java/com/here/android/mpa/mapping/MapOverlay.html

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

其背后的想法是,您可以使用普通的视图(非常灵活,自己的设计等)并将其粘贴到地图上的某个位置(然后地图将其固定在适当的位置)。这为您提供了逻辑和设计上的充分灵活性。

相关问题