Java 旋转木马幻灯片上的Android更改标记图标

Java 旋转木马幻灯片上的Android更改标记图标,java,android,google-maps,maps,Java,Android,Google Maps,Maps,我想请你们帮忙,或者你们中是否有人已经实现了我项目的一项要求。我有一个mapfragment,其中有一个记录转盘,在地图上也有相应的标记 这是我当前的代码: for (int counter = 0; counter < foodList.size(); counter++) { if (counter == midValue) { LatLng foodLocation = new LatLng(foodList.get(counter).Lat

我想请你们帮忙,或者你们中是否有人已经实现了我项目的一项要求。我有一个mapfragment,其中有一个记录转盘,在地图上也有相应的标记

这是我当前的代码:

for (int counter = 0; counter < foodList.size(); counter++) {
        if (counter == midValue) {

            LatLng foodLocation = new LatLng(foodList.get(counter).Lat, foodList.get(counter).Long);

            MarkerOptions mo = new MarkerOptions()
                    .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE))
                    .position(foodLocation)
                    .rotation(0)
                    .title(counter + 1 + ") " + foodList.get(counter).List_Name);

            Marker mkr = mMap.addMarker(mo);
            mMarkers.put(mkr.getId(), counter);

            previousMarker = mMap.addMarker(
                    new MarkerOptions().position(foodLocation)
                            .title(counter + 1 + ") " + foodList.get(counter).List_Name)
                            .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE))
                            .snippet(foodList.get(counter).List_ID)
                            );

            CameraUpdate center = CameraUpdateFactory.newLatLng(foodLocation);
            CameraUpdate zoom = null;

            if (foodList.size() <= 5) {
                zoom = CameraUpdateFactory.zoomTo(cameraLevel);
            } else {
                zoom = CameraUpdateFactory.zoomTo(cameraLevelMany);
            }

            mMap.moveCamera(center);
            mMap.animateCamera(zoom);

        } else {
            LatLng foodLocation = new LatLng(foodList.get(counter).Lat, foodList.get(counter).Long);

            MarkerOptions mo = new MarkerOptions()
                    .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE))
                    .position(foodLocation)
                    .rotation(0)
                    .title(counter + 1 + ") " + foodList.get(counter).List_Name);

            Marker mkr = mMap.addMarker(mo);
            mMarkers.put(mkr.getId(), counter);
        }

        mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
            @Override
            public boolean onMarkerClick(Marker clickedMarker) {
                String title = clickedMarker.getTitle();

                int id = mMarkers.get(clickedMarker.getId());
                clickedMarker.showInfoWindow();

                try {
                    String num = title.substring(0, title.indexOf(")"));
                    midValue = Integer.parseInt(num) - 1;

                    if (previousMarker != null) {previousMarker.setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED));
                    }
                    clickedMarker.setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE));
                    previousMarker = clickedMarker;
                    // end

                    mViewPager.setCurrentItem(midValue, false);
                    midValue = mViewPager.getCurrentItem();
                    isMarkerClicked = true;

                    new Handler().postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            mViewPager.beginFakeDrag();
                            mViewPager.fakeDragBy(0.1f);
                            mViewPager.endFakeDrag();
                            isMarkerClicked = false;
                        }
                    }, 100);

                    Food food = foodList.get(id);

                    Intent intent = new Intent(ProductMapsActivity.this, ProductDetailActivity.class);
                    intent.putExtra("ownLat", ownLat);
                    intent.putExtra("ownLong", ownLong);
                    startActivity(intent);

                } catch (Exception ex) {
                    clickedMarker.showInfoWindow();
                }
                return true;
            }
        });
    }

    View zoomControls = mapFragment.getView().findViewById(0x1);

    if (zoomControls != null && zoomControls.getLayoutParams() instanceof RelativeLayout.LayoutParams) {
        // ZoomControl is inside of RelativeLayout
        RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) zoomControls.getLayoutParams();

        // Align it to - parent top|left
        params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);

        // Update margins, set to 10dp
        final int margin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 10,
                getResources().getDisplayMetrics());
        params.setMargins(margin, margin, margin, margin);
    }
for(int counter=0;counter如果(foodList.size()我不理解您的问题。@MD这意味着我需要更改旋转木马幻灯片上当前项目的标记图标。发布完整代码please@quicklearner我只在4月1日发布了代码。