[android] #5513 - make sure view is measured first before anchoring

This commit is contained in:
Tobrun
2016-07-07 10:50:13 +02:00
parent 85756f360e
commit d929e32217

View File

@@ -116,6 +116,10 @@ public class MarkerViewManager {
if (convertView != null) {
PointF point = mapboxMap.getProjection().toScreenLocation(marker.getPosition());
if (marker.getOffsetX() == -1) {
// ensure view is measured first
if (convertView.getMeasuredWidth() == 0) {
convertView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
}
int x = (int) (marker.getAnchorU() * convertView.getMeasuredWidth());
int y = (int) (marker.getAnchorV() * convertView.getMeasuredHeight());
marker.setOffset(x, y);