I´m doing a new wrap for OSMDroid.
The Osmdroids Infowindow can be initiated using an int which is the ResourceID from a XML layout.
We don´t have access to anything other than using this id.
As a reference here the code from the Library
Can we emulate this layoutResId from B4A in any way? Or from within the wrapper?
Alternative would be that we need to use XML layouts for the Markerwindows. I fear that B4A will not create any entry in the R File for Additional Resources added using the additionalres: ../Foldername keyword.
Using the XML Layoutbuilder does not help as it does not return any layoutResId for a loaded Layout.
Also i fear the Ids for
- R.id.bubble_title
- R.id.bubble_subdescription
- R.id.bubble_description
and
- R.id.bubble_image
are also not set in the R file when using the XML Layoutbuilder as the R file content is generated at Compiletime.
The Osmdroids Infowindow can be initiated using an int which is the ResourceID from a XML layout.
We don´t have access to anything other than using this id.
As a reference here the code from the Library
MarkerInfoWindow:
package org.osmdroid.views.overlay.infowindow;
import org.osmdroid.api.IMapView;
import org.osmdroid.views.MapView;
import org.osmdroid.views.overlay.Marker;
import org.osmdroid.views.overlay.infowindow.BasicInfoWindow;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
/**
* {@link org.osmdroid.views.overlay.infowindow.MarkerInfoWindow} is the default
* implementation of {@link org.osmdroid.views.overlay.infowindow.InfoWindow} for a
* {@link org.osmdroid.views.overlay.Marker}.
*
* It handles
*
* R.id.bubble_title = {@link org.osmdroid.views.overlay.OverlayWithIW#getTitle()},
* R.id.bubble_subdescription = {@link org.osmdroid.views.overlay.OverlayWithIW#getSubDescription()},
* R.id.bubble_description = {@link org.osmdroid.views.overlay.OverlayWithIW#getSnippet()},
* R.id.bubble_image = {@link org.osmdroid.views.overlay.Marker#getImage()}
*
* Description and sub-description interpret HTML tags (in the limits of the Html.fromHtml(String) API).
* Clicking on the bubble will close it.
*
* <img alt="Class diagram around Marker class" width="686" height="413" src='./doc-files/marker-infowindow-classes.png' />
*
* [USER=12625]@author[/USER] M.Kergall
*/
public class MarkerInfoWindow extends BasicInfoWindow {
protected Marker mMarkerRef; //reference to the Marker on which it is opened. Null if none.
/**
* @param layoutResId layout that must contain these ids: bubble_title,bubble_description,
* bubble_subdescription, bubble_image
* @param mapView
*/
public MarkerInfoWindow(int layoutResId, MapView mapView) {
super(layoutResId, mapView);
//mMarkerRef = null;
}
/**
* reference to the Marker on which it is opened. Null if none.
* @return
*/
public Marker getMarkerReference(){
return mMarkerRef;
}
[USER=69643]@override[/USER] public void onOpen(Object item) {
super.onOpen(item);
mMarkerRef = (Marker)item;
if (mView==null) {
Log.w(IMapView.LOGTAG, "Error trapped, MarkerInfoWindow.open, mView is null!");
return;
}
//handle image
ImageView imageView = (ImageView)mView.findViewById(mImageId /*R.id.image*/);
Drawable image = mMarkerRef.getImage();
if (image != null){
imageView.setImageDrawable(image); //or setBackgroundDrawable(image)?
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setVisibility(View.VISIBLE);
} else
imageView.setVisibility(View.GONE);
}
[USER=69643]@override[/USER] public void onClose() {
super.onClose();
mMarkerRef = null;
//by default, do nothing else
}
}
Can we emulate this layoutResId from B4A in any way? Or from within the wrapper?
Alternative would be that we need to use XML layouts for the Markerwindows. I fear that B4A will not create any entry in the R File for Additional Resources added using the additionalres: ../Foldername keyword.
Using the XML Layoutbuilder does not help as it does not return any layoutResId for a loaded Layout.
Also i fear the Ids for
- R.id.bubble_title
- R.id.bubble_subdescription
- R.id.bubble_description
and
- R.id.bubble_image
are also not set in the R file when using the XML Layoutbuilder as the R file content is generated at Compiletime.