如何在这里映射SDK 3.6中的标记上显示信息窗口

时间:2018-01-11 05:03:05

标签: android here-api

旧版本有方法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);

1 个答案:

答案 0 :(得分:1)

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

那么,这意味着什么: 您应该使用MapOverlay,而不是在HERE mSDK中显示非常静态/预定义的信息块,这样您就可以将完整的View对象(Android视图)作为叠加层添加到地图上的固定位置。

在您的情况下,您可能希望收听标记点击事件,如果发生这种情况,则添加一个Android视图,该视图将您希望它作为MapOverlay的方式添加到地图中。 Map叠加层的构造如下:MapOverlay(视图视图,GeoCoordinate坐标)并将固定到给定位置。

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