gpt4 book ai didi

java - 如何在谷歌地图上的 InfoWindow 上实现 onclicklistener

转载 作者:行者123 更新时间:2023-11-30 01:58:48 25 4
gpt4 key购买 nike

我正在使用此 GoogleMap.InfoWindowAdapterInfoWindowImageView 上显示 image 但我想处理其上的滑动事件以显示其他图像

这是我的代码:

public class MarkerInfoWindowAdapter implements GoogleMap.InfoWindowAdapter
{
public MarkerInfoWindowAdapter(Bitmap pbitMap){}

@Override
public View getInfoWindow(Marker marker)
{
ArrayList<String> lPhotos = new ArrayList();
File file=new File("/sdcard/trip/");
File[] list = file.listFiles();
int count = 0;
String lname = "";
for (File f: list){
lname = f.getName();
if (lname.endsWith(".jpg")){
count++;
lPhotos.add(lname);
}
System.out.println("170 " + count);
}
Bitmap mBitmap = getImageFileFromSDCard(lname);
View v = getLayoutInflater().inflate(R.layout.infowindow_layout, null);
ImageView markerIcon = (ImageView) v.findViewById(R.id.marker_icon);
markerIcon.setImageBitmap(mBitmap);
return v;
}

@Override
public View getInfoContents(Marker marker)
{
View v = getLayoutInflater().inflate(R.layout.infowindow_layout, null);
ImageView markerIcon = (ImageView) v.findViewById(R.id.marker_icon);

return v;
}
}

最佳答案

根据 here ,您应该在 getInfoContents 而不是 getInfoWindow 中使用 setImageBitmap

示例代码:

class MyInfoWindowAdapter implements InfoWindowAdapter{

private final View myContentsView;
boolean not_first_time_showing_info_window;

MyInfoWindowAdapter(){
myContentsView = getLayoutInflater().inflate(R.layout.custom_info_contents, null);
}

@Override
public View getInfoContents(Marker marker) {

ImageView imageView = (ImageView)myContentsView.findViewById(R.id.imgView);

TextView tvTitle = ((TextView)myContentsView.findViewById(R.id.title));
tvTitle.setText(marker.getTitle());
TextView tvSnippet = ((TextView)myContentsView.findViewById(R.id.snippet));
tvSnippet.setText(marker.getSnippet());

return myContentsView;
}

自定义信息内容.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:adjustViewBounds="true"
android:src="@drawable/ic_launcher"
android:id="@+id/imgView"/>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12dp"
android:textStyle="bold"/>
<TextView
android:id="@+id/snippet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10dp"/>
</LinearLayout>

</LinearLayout>

更多详情请引用here和我在 github 上的项目 here .

编辑

mMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {

}
});

关于java - 如何在谷歌地图上的 InfoWindow 上实现 onclicklistener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31806026/

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