Java 旋转木马幻灯片上的Android更改标记图标
我想请你们帮忙,或者你们中是否有人已经实现了我项目的一项要求。我有一个mapfragment,其中有一个记录转盘,在地图上也有相应的标记 这是我当前的代码: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
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日发布了代码。