Android 标记器上的弹出窗口(信息气泡)单击此处地图
我想使用HERE FREE SDK配置我的地图,所以当我点击一个标记时,会弹出一些文本,我尝试了InfoBubble,但我认为这已经不起作用了,我也想尝试MapOverlay,但它似乎仅限于JS。 这是我的代码:Android 标记器上的弹出窗口(信息气泡)单击此处地图,android,popup,here-api,infobubble,bubble-popup,Android,Popup,Here Api,Infobubble,Bubble Popup,我想使用HERE FREE SDK配置我的地图,所以当我点击一个标记时,会弹出一些文本,我尝试了InfoBubble,但我认为这已经不起作用了,我也想尝试MapOverlay,但它似乎仅限于JS。 这是我的代码: MapMarker myMapMarker = new MapMarker(new GeoCoordinate(LAT, LNG), myImage); map.addMapObject(myMapMarker); MapGesture.OnGestureListener list
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;
}
};
MapMarker myMapMarker=新的MapMarker(新的地理坐标(纬度、液化天然气)、myImage);
addMapObject(myMapMarker);
Map手势.OnGestureListener listener=新建Map手势.OnGestureListener.OnGestureListenerAdapter(){
@凌驾
已选择公共布尔对象(列出对象){
用于(ViewObject viewObj:对象){
if(viewObj.getBaseType()==ViewObject.Type.USER\u对象){
if(((MapObject)viewObj.getType()==MapObject.Type.MARKER){
map.setInfoBubbleAdapter(新的map.InfoBubbleAdapter(){
@凌驾
公共视图GetInfoBubbleContent(MapMarker MapMarker){
返回null;
}
@凌驾
公共视图getInfoBubble(MapMarker MapMarker){
视图气泡;
气泡=LayoutInflater.from(getActivity())。充气(R.layout.Bubble\u布局,容器,false);
TextView nom=Bubble.findviewbyd(R.id.nomecole);
名称setText(“学校”);
回归泡沫;
}
} );
((MapObject)viewObj).setVisible(false);
}
}
}
返回false;
}
};
对于我的气泡布局:
`
`必须调用
MapMarker.showInfoBubble()
以显示,调用MapMarker.hideInfoBubble()
以隐藏信息bubble
此外,您可能需要删除隐藏MapMarker的线,以便在单击标记后该标记保持可见。这一行:
((MapObject)viewObj).setVisible(false);
嗨,它是被删除了还是被其他东西取代了?我在文档和API中都找不到这一点。从那时起,此API已被删除。现在,您可以使用MapOverlay API将android视图附加到地图上的地理坐标。
((MapObject)viewObj).setVisible(false);