[android] #5083 - add InfoWindow offset based on height of associated MarkerView, removed unused icons, renamed feature activity

This commit is contained in:
Tobrun
2016-05-23 13:07:04 +02:00
parent 3a251dda46
commit 3ef740c753
7 changed files with 13 additions and 14 deletions

View File

@@ -170,12 +170,6 @@ public class MarkerViewManager {
if (adapter.getMarkerClass() == marker.getClass()) {
convertView = (View) adapter.getViewReusePool().acquire();
View adaptedView = adapter.getView(marker, convertView, mapView);
// InfoWindow offset
Point infoWindowOffset = marker.getInfoWindowOffset();
marker.setTopOffsetPixels(-infoWindowOffset.y);
marker.setRightOffsetPixels(infoWindowOffset.x);
if (adaptedView != null) {
// tilt
@@ -206,6 +200,12 @@ public class MarkerViewManager {
}
if (!clickHandled) {
// InfoWindow offset
Point infoWindowOffset = marker.getInfoWindowOffset();
marker.setTopOffsetPixels(-(v.getHeight() / 2) - infoWindowOffset.y);
marker.setRightOffsetPixels(infoWindowOffset.x);
if (animSelectRes != 0) {
AnimatorUtils.animate(v, animSelectRes, new AnimatorUtils.OnAnimationEndListener() {
@Override

View File

@@ -254,7 +254,7 @@
</activity>
<activity
android:name=".activity.annotation.ViewMarkerAdapterActivity"
android:name=".activity.annotation.MarkerViewActivity"
android:description="@string/description_view_marker"
android:label="@string/activity_view_marker">
<meta-data

View File

@@ -3,6 +3,7 @@ package com.mapbox.mapboxsdk.testapp.activity.annotation;
import android.content.Context;
import android.graphics.Point;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.ActionBar;
@@ -29,7 +30,7 @@ import com.mapbox.mapboxsdk.testapp.model.annotations.CountryMarkerOptions;
import com.mapbox.mapboxsdk.testapp.model.annotations.CountryMarkerView;
import com.mapbox.mapboxsdk.testapp.model.annotations.CountryMarkerViewOptions;
public class ViewMarkerAdapterActivity extends AppCompatActivity {
public class MarkerViewActivity extends AppCompatActivity {
private MapboxMap mMapboxMap;
private MapView mMapView;
@@ -72,7 +73,7 @@ public class ViewMarkerAdapterActivity extends AppCompatActivity {
mMapboxMap.addMarker(new MarkerViewOptions()
.position(LAT_LNGS[i])
.title(String.valueOf(i))
.infoWindowOffset(new Point(0, 86))
.infoWindowOffset(new Point(0, (int) getResources().getDimension(R.dimen.fab_margin)))
.selectAnimatorResource(R.animator.scale_up)
.deselectAnimatorResource(R.animator.scale_down)
);
@@ -86,9 +87,7 @@ public class ViewMarkerAdapterActivity extends AppCompatActivity {
options.position(new LatLng(38.899774, -77.023237));
options.selectAnimatorResource(R.animator.rotate_360);
options.deselectAnimatorResource(R.animator.rotate_360);
options.infoWindowOffset(new Point(0, 64));
options.flat(true);
mapboxMap.addMarker(options);
// default GL marker
@@ -99,8 +98,8 @@ public class ViewMarkerAdapterActivity extends AppCompatActivity {
// set adapters
final MarkerViewManager markerViewManager = mapboxMap.getMarkerViewManager();
markerViewManager.addMarkerViewAdapter(new TextAdapter(ViewMarkerAdapterActivity.this));
markerViewManager.addMarkerViewAdapter(new CountryAdapter(ViewMarkerAdapterActivity.this));
markerViewManager.addMarkerViewAdapter(new TextAdapter(MarkerViewActivity.this));
markerViewManager.addMarkerViewAdapter(new CountryAdapter(MarkerViewActivity.this));
mMapView.addOnMapChangedListener(new MapView.OnMapChangedListener() {
@Override
@@ -116,7 +115,7 @@ public class ViewMarkerAdapterActivity extends AppCompatActivity {
mMapboxMap.getMarkerViewManager().setOnMarkerViewClickListener(new MapboxMap.OnMarkerViewClickListener() {
@Override
public boolean onMarkerClick(@NonNull Marker marker, @NonNull View view, @NonNull MapboxMap.MarkerViewAdapter adapter) {
Toast.makeText(ViewMarkerAdapterActivity.this, "Hello " + marker.getId(), Toast.LENGTH_SHORT).show();
Toast.makeText(MarkerViewActivity.this, "Hello " + marker.getId(), Toast.LENGTH_SHORT).show();
return false;
}
});

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 745 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 B

After

Width:  |  Height:  |  Size: 418 B