标记上的弹出窗口(InfoBubble)单击此处映射

时间:2019-05-03 01:07:31

标签: android popup here-api infobubble bubble-popup

我想使用HERE FREE SDK配置地图,所以当我单击标记时,弹出窗口中会显示一些Texts,我尝试了InfoBubble,但我认为它不再起作用了,我也想尝试MapOverlay,似乎只限于JS。 所以这是我的代码:

MapMarker myMapMarker =  new MapMarker(new GeoCoordinate(LAT, LNG), myImage);

map.addMapObject(myMapMarker);
MapGesture.OnGestureListener listener = new MapGesture.OnGestureListener.OnGestureListenerAdapter() {
    @Override
    public boolean onMapObjectsSelected(List<ViewObject> objects) {
        for (ViewObject viewObj : objects) {
            if (viewObj.getBaseType() == ViewObject.Type.USER_OBJECT) {
                if (((MapObject)viewObj).getType() == MapObject.Type.MARKER) {
                        map.setInfoBubbleAdapter( new Map.InfoBubbleAdapter() {
                        @Override
                        public View getInfoBubbleContents(MapMarker mapMarker) {
                            return null;
                        }

                        @Override
                        public View getInfoBubble(MapMarker mapMarker) {
                            View Bubble;

                            Bubble =LayoutInflater.from(getActivity()).inflate(R.layout.bubble_layout,       container, false);
                            TextView nom = Bubble.findViewById( R.id.nomecole );
                            nom.setText( "School" );
                            return Bubble;
                        }
                    } );
                    ((MapObject)viewObj).setVisible(false);
                }
            }
        }

        return false;
    }
};

和我的气泡布局: `

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">
    <TextView
        android:id="@+id/nomecole"
        android:layout_width="100dp"
        android:layout_height="30dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="-4dp"
        android:layout_marginTop="32dp"
        android:gravity="center"
        android:text="@string/nom"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="13sp" />
    </RelativeLayout>

`

2 个答案:

答案 0 :(得分:1)

您必须调用MapMarker.showInfoBubble()才能显示,而必须MapMarker.hideInfoBubble()才能隐藏信息提示框。

此外,您可能需要删除隐藏MapMarker的行,以便在单击标记后标记仍然可见。这行:

((MapObject)viewObj).setVisible(false);

答案 1 :(得分:0)

您使用的是Here Starter还是Here Premium SDK?