gpt4 book ai didi

java - 如何为具有不同值的多个标记添加信息窗口适配器?

转载 作者:行者123 更新时间:2023-12-02 05:01:14 25 4
gpt4 key购买 nike

 Marker drMark=mMap.addMarker(new MarkerOptions().position(drLoc).title("Lahore").icon(BitmapDescriptorFactory.fromResource(R.drawable.marker)));
Marker selfMark=mMap.addMarker(new MarkerOptions().position(curLocation).title("Lahore").icon(BitmapDescriptorFactory.fromResource(R.drawable.passengermarker)));

我正在尝试将 infoWindow 添加到 map Activity 中的多个标记。但 infoWindow 适配器在 onMapsReady 中初始化后在所有标记上显示相同的数据。我想在所有标记上显示 infoWindow 及其自己的信息,即标记 infoWindows 单独初始化,以便数据变得相关。

最佳答案

一种方法是使用标记来区分 infoWindowAdapter 部分中的标记。我认为这是完成这项工作的更简单的方法。

selfMark=mMap.addMarker(new MarkerOptions().position(curLocation).title("Lahore").icon(BitmapDescriptorFactory.fromResource(R.drawable.passengermarker)));
selfMark.setTag("user");

drMark=mMap.addMarker(new MarkerOptions().position(drLoc).title("Lahore").icon(BitmapDescriptorFactory.fromResource(R.drawable.marker)));
drMark.setTag("driver");

InfoWinfoAdapter 的此部分:

     mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
return null;
}

@Override
public View getInfoContents(final Marker marker) {
View view = getLayoutInflater().inflate(R.layout.driver_inf, null);

final TextView tvEmail = view.findViewById(R.id.emailDrive);
final TextView tvname = view.findViewById(R.id.nameDrive);
final TextView tvlocality = view.findViewById(R.id.localityDrive);
if(marker.getTag().equals("driver")){
tvEmail.setText("Driver");
}
else if (marker.getTag().equals("user")){
tvEmail.setText("Passenger");
}


tvname.setText(dC.getName());
Geocoder gc = new Geocoder(passengerAct.this, Locale.getDefault());
try {
List<Address> adr = gc.getFromLocation(marker.getPosition().latitude, marker.getPosition().longitude, 1);
Address address = adr.get(0);
tvlocality.setText(address.getLocality() + "," + address.getCountryName());
} catch (IOException e) {
e.printStackTrace();
}
return view;
}
});

关于java - 如何为具有不同值的多个标记添加信息窗口适配器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56383809/

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