Я начал следовать учебным пособиям, представленным на веб-сайте mapbox, по отображению картографических данных c в формате json, и я мог отображать карты без каких-либо проблем.
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что Я не могу отобразить attribute data
на этих картах.
Как я рекомендовал, я отредактировал вопрос и вот код:
public class MainActivity extends AppCompatActivity implements MapboxMap.OnMapClickListener {
private MapView mapView;
private MapboxMap mapboxMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Mapbox.getInstance(this, getString(R.string.access_token));
setContentView(R.layout.activity_main);
mapView = findViewById(R.id.mapview);
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(@NonNull MapboxMap mapboxMap) {
mapboxMap.setStyle(Style.TRAFFIC_DAY, new Style.OnStyleLoaded() {
@Override
public void onStyleLoaded(@NonNull Style style) {
VectorSource vectorSource = new VectorSource(
"Supports-source", "https://api.mapbox.com/v4/anis82.b8l0y56t.json?access_token="
+ getString(R.string.access_token)
);
style.addSource(vectorSource);
CircleLayer circleLayer = new CircleLayer("Supports-style", "Supports-source");
circleLayer.setSourceLayer("SUPPORTS_HTA-BT-9n49es");
style.addLayer(circleLayer);
}
});
}
});
}
@Override
public boolean onMapClick(@NonNull LatLng point) {
final PointF pixel = mapboxMap.getProjection().toScreenLocation(point);
List<Feature> features = mapboxMap.queryRenderedFeatures(pixel,"SUPPORTS_HTA-BT-9n49es");
if (features.size() > 0) {
Feature feature = features.get(0);
if (feature.properties() != null) {
for (Map.Entry<String, JsonElement> entry : feature.properties().entrySet()) {
Log.d("TAG", String.format("%s = %s", entry.getKey(), entry.getValue()));
}
}
}
return false;
}
@Override
public void onStart() {
super.onStart();
mapView.onStart();
}
@Override
public void onResume() {
super.onResume();
mapView.onResume();
}
@Override
public void onPause() {
super.onPause();
mapView.onPause();
}
@Override
public void onStop() {
super.onStop();
mapView.onStop();
}
@Override
public void onLowMemory() {
super.onLowMemory();
mapView.onLowMemory();
}
@Override
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mapView.onSaveInstanceState(outState);
}
}