我就是在回调中设置的marker.setZIndex(999);啊
时间: 2024-04-21 16:25:17 浏览: 97
抱歉,我理解有误。如果你在onMarkerClick回调中已经设置了marker.setZIndex(999),但仍然无法完全遮挡住途经点,可能是由于自定义Marker的大小不够,建议你尝试将自定义Marker的大小适当增大,这样就可以遮挡住途经点了。另外,你也可以尝试调整Marker的位置,或者使用不同的图标来避免遮挡住途经点。
相关问题
安卓高德导航SDK 添加了Marker显示在了途经点的上方,完全覆盖掉了途经点,点击Marker后,途径点又显示出来了。这个情况应该用什么去解决?我在点击的时候设置了marker.setZIndex(999);还是不行
你可以尝试使用高德地图SDK提供的InfoWindow来解决这个问题。InfoWindow是一种自定义弹出窗口,可以在地图上显示额外的信息。你可以在Marker上设置InfoWindow,这样点击Marker时,就会弹出一个窗口显示额外的信息,而不会遮挡住途经点。具体操作可以参考高德地图SDK的官方文档。同时,你可以尝试调整Marker的位置,或者使用不同的图标来避免遮挡住途经点。
看我的代码 private void addCustomMarkers(List<NaviLatLng> wayPoints) { if (wayPoints != null && wayPoints.size() > 0) { // 将自定义Marker的View转换为Bitmap Bitmap customMarkerBitmap = createBitmapFromView(customMarkerView); // 创建自定义Marker的BitmapDescriptor对象 BitmapDescriptor customMarkerIcon = BitmapDescriptorFactory.fromBitmap(customMarkerBitmap); for (NaviLatLng wayPoint : wayPoints) { // 在地图上添加自定义Marker marker = aMap.addMarker(new MarkerOptions() .position(new LatLng(wayPoint.getLatitude(), wayPoint.getLongitude())) .icon(customMarkerIcon) .anchor(0.5f, 1.0f)); // 自定义途经点的Marker样式 // 将Marker对象添加到维护途经点的列表中 marker.setZIndex(666); markerList.add(marker); } } } @Override public boolean onMarkerClick(Marker marker) { LatLng position = marker.getPosition(); marker.setZIndex(999); Log.d("tagaa", "onMarkerClick: 这个是 "+position); return false; }
你的代码中已经对Marker的zIndex进行了设置,但可能是由于其他Marker的zIndex比它更高,导致无法完全遮挡住途经点。建议你在添加Marker时,将其zIndex设置为一个更大的值,如999,这样就可以确保它在地图上的层级更高,从而完全遮挡住途经点了。同时,如果你需要多次点击Marker时,每次都将zIndex设置为999,可以在onMarkerClick回调中添加如下代码:
```
marker.setZIndex(999);
```
这样,每次点击Marker时,都会将它的zIndex设置为999,确保它在地图上的层级更高,从而完全遮挡住途经点。
阅读全文