diff options
author | Fabian Guerra <fabian.guerra@mapbox.com> | 2017-04-11 21:46:23 -0400 |
---|---|---|
committer | Fabian Guerra <fabian.guerra@mapbox.com> | 2017-04-11 21:46:23 -0400 |
commit | 12b6fdbe3b1caad95089150d5c3ab69af31fb725 (patch) | |
tree | 414df39761f08c8221e9f51f73c18ced91656a11 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java | |
parent | 0cb05f926b7dcc18ba59c7a3c16f94860d1a0b1b (diff) | |
parent | 4d0605a004844726fc5f5e015c6d4320a880bfa0 (diff) | |
download | qtlocation-mapboxgl-12b6fdbe3b1caad95089150d5c3ab69af31fb725.tar.gz |
Merge branch 'release-ios-v3.5.0-android-v5.0.0' into boundsj-merge-release-branch
# Conflicts:
# cmake/core-files.cmake
# mapbox-gl-js
# platform/android/CHANGELOG.md
# platform/ios/CHANGELOG.md
# platform/macos/CHANGELOG.md
# platform/qt/bitrise-qt5.yml
# src/mbgl/gl/attribute.hpp
# src/mbgl/gl/context.cpp
# src/mbgl/gl/program.hpp
# src/mbgl/map/map.cpp
# src/mbgl/programs/program.hpp
# src/mbgl/renderer/painter.cpp
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java index c152630278..c9d81a88bc 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.java @@ -71,6 +71,27 @@ class IconManager { return icon; } + Icon loadIconForMarkerView(MarkerView marker) { + Icon icon = marker.getIcon(); + int iconSize = icons.size() + 1; + if (icon == null) { + icon = IconFactory.getInstance(nativeMapView.getContext()).defaultMarkerView(); + marker.setIcon(icon); + } + Bitmap bitmap = icon.getBitmap(); + averageIconHeight = averageIconHeight + (bitmap.getHeight() - averageIconHeight) / iconSize; + averageIconWidth = averageIconWidth + (bitmap.getWidth() - averageIconWidth) / iconSize; + if (!icons.contains(icon)) { + icons.add(icon); + } else { + Icon oldIcon = icons.get(icons.indexOf(icon)); + if (!oldIcon.getBitmap().sameAs(icon.getBitmap())) { + throw new IconBitmapChangedException(); + } + } + return icon; + } + int getTopOffsetPixelsForIcon(Icon icon) { return (int) (nativeMapView.getTopOffsetPixelsForAnnotationSymbol(icon.getId()) * nativeMapView.getPixelRatio()); } |