|
3 | 3 | import com.mapzen.android.core.MapzenManager;
|
4 | 4 | import com.mapzen.android.graphics.internal.StyleStringGenerator;
|
5 | 5 | import com.mapzen.android.graphics.model.BitmapMarker;
|
| 6 | +import com.mapzen.android.graphics.model.BitmapMarkerManager; |
| 7 | +import com.mapzen.android.graphics.model.BitmapMarkerOptions; |
6 | 8 | import com.mapzen.android.graphics.model.CameraType;
|
7 | 9 | import com.mapzen.android.graphics.model.EaseType;
|
8 | 10 | import com.mapzen.android.graphics.model.MapStyle;
|
9 | 11 | import com.mapzen.android.graphics.model.Marker;
|
10 |
| -import com.mapzen.android.graphics.model.MarkerManager; |
11 | 12 | import com.mapzen.android.graphics.model.MarkerOptions;
|
12 | 13 | import com.mapzen.android.graphics.model.Polygon;
|
13 | 14 | import com.mapzen.android.graphics.model.Polyline;
|
14 | 15 | import com.mapzen.tangram.LngLat;
|
15 | 16 | import com.mapzen.tangram.MapController;
|
16 | 17 | import com.mapzen.tangram.MapData;
|
17 | 18 | import com.mapzen.tangram.MarkerPickResult;
|
| 19 | +import com.mapzen.tangram.SceneError; |
18 | 20 | import com.mapzen.tangram.SceneUpdate;
|
19 | 21 | import com.mapzen.tangram.TouchInput;
|
20 | 22 |
|
@@ -48,7 +50,7 @@ public class MapzenMap {
|
48 | 50 | private final OverlayManager overlayManager;
|
49 | 51 | private final MapStateManager mapStateManager;
|
50 | 52 | private final LabelPickHandler labelPickHandler;
|
51 |
| - private final MarkerManager markerManager; |
| 53 | + private final BitmapMarkerManager bitmapMarkerManager; |
52 | 54 | private final SceneUpdateManager sceneUpdateManager;
|
53 | 55 | private final MapzenManager mapzenManager;
|
54 | 56 | private Locale locale;
|
@@ -138,19 +140,27 @@ public boolean onRotate(float x, float y, float rotation) {
|
138 | 140 | }
|
139 | 141 | };
|
140 | 142 |
|
| 143 | + MapController.SceneLoadListener internalSceneLoadListener |
| 144 | + = new MapController.SceneLoadListener() { |
| 145 | + @Override public void onSceneReady(int sceneId, SceneError sceneError) { |
| 146 | + bitmapMarkerManager.restoreMarkers(); |
| 147 | + } |
| 148 | + }; |
| 149 | + |
141 | 150 | /**
|
142 | 151 | * Creates a new map based on the given {@link MapView} and {@link MapController}.
|
143 | 152 | */
|
144 | 153 | MapzenMap(MapView mapView, MapController mapController, OverlayManager overlayManager,
|
145 | 154 | MapStateManager mapStateManager, LabelPickHandler labelPickHandler,
|
146 |
| - MarkerManager markerManager, SceneUpdateManager sceneUpdateManager, Locale locale, |
| 155 | + BitmapMarkerManager bitmapMarkerManager, SceneUpdateManager sceneUpdateManager, Locale locale, |
147 | 156 | MapzenManager mapzenManager) {
|
148 | 157 | this.mapView = mapView;
|
149 | 158 | this.mapController = mapController;
|
| 159 | + this.mapController.setSceneLoadListener(internalSceneLoadListener); |
150 | 160 | this.overlayManager = overlayManager;
|
151 | 161 | this.mapStateManager = mapStateManager;
|
152 | 162 | this.labelPickHandler = labelPickHandler;
|
153 |
| - this.markerManager = markerManager; |
| 163 | + this.bitmapMarkerManager = bitmapMarkerManager; |
154 | 164 | this.sceneUpdateManager = sceneUpdateManager;
|
155 | 165 | this.locale = locale;
|
156 | 166 | this.mapzenManager = mapzenManager;
|
@@ -646,8 +656,8 @@ public void onMarkerPick(final MarkerPickResult markerPickResult, final float po
|
646 | 656 | mapView.post(new Runnable() {
|
647 | 657 | @Override public void run() {
|
648 | 658 | if (markerPickResult != null) {
|
649 |
| - listener.onMarkerPick(new BitmapMarker(markerManager, markerPickResult.getMarker(), |
650 |
| - new StyleStringGenerator())); |
| 659 | + listener.onMarkerPick(new BitmapMarker(bitmapMarkerManager, |
| 660 | + markerPickResult.getMarker(), new StyleStringGenerator())); |
651 | 661 | }
|
652 | 662 | }
|
653 | 663 | });
|
@@ -954,7 +964,18 @@ void onDestroy() {
|
954 | 964 | * @param markerOptions options used to define marker appearance.
|
955 | 965 | * @return a new bitmap marker instance.
|
956 | 966 | */
|
| 967 | + @Deprecated |
957 | 968 | public BitmapMarker addBitmapMarker(MarkerOptions markerOptions) {
|
958 |
| - return markerManager.addMarker(markerOptions); |
| 969 | + return bitmapMarkerManager.addMarker(markerOptions); |
| 970 | + } |
| 971 | + |
| 972 | + /** |
| 973 | + * Adds a custom bitmap marker to the map. |
| 974 | + * |
| 975 | + * @param markerOptions options used to define marker appearance. |
| 976 | + * @return a new bitmap marker instance. |
| 977 | + */ |
| 978 | + public BitmapMarker addBitmapMarker(BitmapMarkerOptions markerOptions) { |
| 979 | + return bitmapMarkerManager.addMarker(markerOptions); |
959 | 980 | }
|
960 | 981 | }
|
0 commit comments