все.
Я использую mapbox SDK
для разработки приложений для Android. Я хочу разместить маркеры в определенных местах на моей карте и привязать к ним прослушиватели щелчков, чтобы при щелчке они запускали новое действие.
Вот так я сейчас добавляю свои маркеры.
НА КАРТЕ ГОТОВ
symbolLayerIconFeatureList.add(Feature.fromGeometry(
Point.fromLngLat(location1.getLng(), location1.getLat())));
symbolLayerIconFeatureList.add(Feature.fromGeometry(
Point.fromLngLat(location2.getLng(), location2.getLat())));
mapboxMap.setStyle(new
Style.Builder().fromUrl("mapbox://styles/mapbox/cjerxnqt3cgvp2rmyuxbeqme7")
.withImage(ICON_ID, BitmapFactory.decodeResource(
Main2dMapActivity.this.getResources(), R.drawable.mapbox_marker_icon_default))
.withSource(new GeoJsonSource(SOURCE_ID,
FeatureCollection.fromFeatures(symbolLayerIconFeatureList)))
.withLayer(new SymbolLayer(LAYER_ID, SOURCE_ID)
.withProperties(PropertyFactory.iconImage(ICON_ID),
iconAllowOverlap(true),
iconOffset(new Float[] {0f, -9f}))
)
,
new Style.OnStyleLoaded() {
@Override
public void onStyleLoaded(@NonNull Style style) {
enableLocationComponent(style);
}
});
Я понимаю, что в настоящее время рекомендуется использовать symbolManager
, который расширяет annotationManager
, а затем добавлять через него прослушиватели кликов, но я не могу понять, как это сделать.
Спасибо и всего наилучшего.