blob: 50192d8f8d38f50658f1e35986e78d6c95ddcd25 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
package com.mapbox.mapboxsdk.maps;
import com.mapbox.mapboxsdk.style.layers.Layer;
import com.mapbox.mapboxsdk.style.sources.Source;
import java.util.HashMap;
public class Style {
private NativeMapView nativeMapView;
private final HashMap<String, Source> sources = new HashMap<>();
private final HashMap<String, Layer> layers = new HashMap<>();
public Style(NativeMapView nativeMapView) {
this.nativeMapView = nativeMapView;
}
public void loadStyle(@com.mapbox.mapboxsdk.constants.Style.StyleUrl String styleUrl) {
for (Source source : sources.values()) {
if (source != null) {
source.setDetached();
nativeMapView.removeSource(source);
}
}
for (Layer layer : layers.values()) {
if (layer != null) {
layer.setDetached();
nativeMapView.removeLayer(layer);
}
}
nativeMapView.setStyleUrl(styleUrl);
}
//
// Source
//
public void addSource(Source source) {
sources.put(source.getId(), source);
nativeMapView.addSource(source);
}
public Source getSource(String id) {
Source source = sources.get(id);
if (source == null) {
source = nativeMapView.getSource(id);
}
return source;
}
//
// Layer
//
public void addLayer(Layer layer) {
layers.put(layer.getId(), layer);
nativeMapView.addLayer(layer);
}
public Layer getLayer(String id) {
Layer layer = layers.get(id);
if (layer == null) {
layer = nativeMapView.getLayer(id);
}
return layer;
}
}
|