我想我对这个链接上的帖子有同样的问题 不同的标记显示相同的信息窗口内容 android google map v2
我目前正在开发一个集成 Google Maps v2 的应用程序,以允许用户拍照并自动在地图上绘制标记。
我有一个工作的 InfoWindowAdapter 但似乎当我设置位图时,如下所示:
ImageView ivIcon = ((ImageView)myContentsView.findViewById(R.id.iconImg));
ivIcon.setImageBitmap(getResizedBitmap(myBitmap.getBp(),100,100));
当使用我的相机拍摄多张照片时(这意味着它将在地图上绘制相应的标记),这些标记都共享相同的图像,这是从相机拍摄的最新图像。我认为通过检查位图对象名称的差异来创建一个类可以解决问题,但它没有。
申请时似乎:
myMap.setInfoWindowAdapter(new MyInfoWindowAdapter());
它适用于所有标记。
如何让每个标记都有自己的自定义信息窗口适配器?
谢谢!
==========================================编辑========= =========================
我有一个允许用户拍照的应用程序,它还将在图像捕获位置的地图上绘制一个标记。标记将有一个自定义信息窗口。我尝试了解决方案,但它们对我来说很模糊。
你介意解释一下你对你的代码做了什么,比如:
googleMap.setInfoWindowAdapter(new InfoWindowAdapter()); 会不会影响地图上的所有标记?
我当前的 CustomInfoBox 代码如下:
类 MyInfoWindowAdapter 实现 InfoWindowAdapter{
私人最终查看 myContentsView;
MyInfoWindowAdapter(){
myContentsView = getLayoutInflater().inflate(R.layout.custom_info_window, null);
}
@Override
public View getInfoContents(Marker marker) {
//TextView tvTitle = ((TextView)myContentsView.findViewById(R.id.title));
// tvTitle.setText(marker.getTitle());
TextView tvSnippet = ((TextView)myContentsView.findViewById(R.id.snippet));
tvSnippet.setText(marker.getSnippet());
ImageView ivIcon = ((ImageView)myContentsView.findViewById(R.id.badge));
ivIcon.setImageBitmap(getResizedBitmap(myBitmap.getBp(),100,100));
System.out.println("Custom Info Window: " + myBitmap.getBp());
return myContentsView;
}
@Override
public View getInfoWindow(Marker marker) {
// TODO Auto-generated method stub
return null;
}
}
当我调用 googleMap.setInfoWindowAdapter(MyInfoWindowAdapter); 时,所有标记都具有相同的布局,因此具有相同的图片(用户拍摄的最后一张照片!),这不是我想要的。
任何帮助都感激不尽!谢谢