如何在此处地图 SDK 3.6 中的标记上显示信息窗口

How to show info wndow on marker in here map SDK 3.6

旧版本有方法 showInfoBubble() 但在此处地图的 sdk 3.6 中已弃用,现在如何在标记上显示信息。

这是代码。

MapMarker marker = new MapMarker();
            GeoCoordinate geoCoordinate = new GeoCoordinate(c.getLat(), c.getLng());
            marker.setCoordinate(geoCoordinate);
            marker.setTitle(c.getTicket());
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.append("Name : " + (TextUtils.isEmpty(c.getName()) ? "N/A" : c.getName().trim()) + "\n");
            stringBuilder.append("Address : " + (TextUtils.isEmpty(c.getStreetAddress()) ? "N/A" : c.getStreetAddress().trim()) + "\n");
            stringBuilder.append("Telephone : " + (TextUtils.isEmpty(c.getTelephone()) ? "N/A" : c.getTelephone().trim()));
            marker.setDescription(stringBuilder.toString());

            mMap.addMapObject(marker);

MapOverlay mapOverlay = new MapOverlay(view, marker.getCoordinate());

             mMapOverlay.put(c.getId(), mapOverlay);

HEREMobileSDK 中的 infoBubble 已弃用很长时间了。在弃用消息中,建议切换到 MapOverlay:https://developer.here.com/documentation/android-premium/api_reference_java/com/here/android/mpa/mapping/MapOverlay.html

那么,这是什么意思: 您应该使用 MapOverlay,而不是从 HERE mSDK 中显示相当 static/predefined 的信息气泡,这样您就可以将完整的视图对象(Android 视图)作为叠加层添加到地图上的固定位置。

在您的情况下,您可能想要侦听标记点击事件,如果发生这种情况,则您可以添加一个 Android 视图,将其作为 MapOverlay 显示在地图上。 地图叠加层的构造如下:MapOverlay(View view,GeoCoordinate coordinate)并将固定到给定位置。

保留对 MapOverlay 的引用,因为您需要自己处理它何时出现和消失。