gpt4 book ai didi

Android Mapbox 标记 - 只有添加的第一个标记是可点击的

转载 作者:行者123 更新时间:2023-11-29 16:41:51 25 4
gpt4 key购买 nike

我在一个循环中向 mapbox map 添加了一些标记(可能有 5-20 个):

Marker newMarker = mainMap.addMarker(new MarkerOptions()
.position(new LatLng(lat, lng))
.title(name)
.icon(icon)
.snippet("icon"));

通过我的测试,我知道上面的代码正在为每个标记运行。

我还在 onMapReady 函数中添加了 onMarkerClickListener:

@Override
public void onMapReady(MapboxMap mapboxMap) {
this.mainMap = mapboxMap;
requestLocationPermissions();
mainMap.setOnMarkerClickListener(this);
}

我面临的问题是,只有添加的第一个标记实际响应点击,其他标记绘制在 map 上但什么都不做。

但是我注意到,如果我最小化该应用程序,然后返回到它,部分或有时所有图标(但只是有时)会变得可点击。当应用程序最小化时,以下内容将输出到运行控制台:

V/FA: Recording user engagement, ms: 43419
Connecting to remote service
V/FA: Activity paused, time: 155301902
D/FA: Logging event (FE): user_engagement(_e), Bundle[{firebase_event_origin(_o)=auto, engagement_time_msec(_et)=43419, firebase_screen_class(_sc)=MainActivity, firebase_screen_id(_si)=2134823340813427911}]
V/FA: Connection attempt already in progress
D/FA: Connected to remote service
V/FA: Processing queued up service tasks: 2

有人知道为什么会这样吗?我猜它与 onPause/onResume 行为有关,以及恢复包含 mapbox map 的 fragment 时运行的任何内容。如何解决此问题,使所有标记始终可点击?

最佳答案

我尝试使用此代码和 com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.13.0 重现您的错误:

public void onMapReady(MapboxMap mapboxMap) {
// ...

mapboxMap.setOnMarkerClickListener(this);

for(int i = 0; i < 10; i++) {
locations.add(new LatLng(10.683 + ((double) i/100), 53.874236));
Log.d(TAG, "Add Marker: " + locations.get(locations.size() - 1));
mapboxMap.addMarker(new MarkerOptions()
.position(locations.get(locations.size() - 1))
.title("Marker: " + i)
.snippet("Snipped"));
}

LatLngBounds latLngBound = new LatLngBounds.Builder()
.include(locations.get(0))
.include(locations.get(locations.size()-1))
.build();
mapboxMap.easeCamera(CameraUpdateFactory.newLatLngBounds(latLngBound, 200), 1000);
}

@Override
public boolean onMarkerClick(@NonNull Marker marker) {
Log.d(TAG, "onMarkerClick: " + marker.getTitle());
return true;
}

如果我不使用旋转/缩放更改 map View ,我确认您观察到的行为。但在放大后我可以点击一个标记。我想你应该发布这个问题 here

关于Android Mapbox 标记 - 只有添加的第一个标记是可点击的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50321368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com