[android] #5083 - add InfoWindow offset based on height of associated MarkerView, removed unused icons, renamed feature activity
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
Reference in New Issue
Block a user