gpt4 book ai didi

java - oninfowindowclick 仅在有多个标记的情况下与标记信息一起使用

转载 作者:行者123 更新时间:2023-12-03 18:08:57 25 4
gpt4 key购买 nike

我已经创建了一个循环来创建多个标记,但是 onInfoWindowClickListener 适用于具有一个参数的所有标记

 for ( i = 0; i < MyArrListx.size(); i++) {

n = Double.parseDouble(MyArrListx.get(i));
e = Double.parseDouble(MyArrListy.get(i));
final String phone = (MyArrListphonenumber.get(i));
map.addMarker(new MarkerOptions().position(new LatLng(n, e)) .title("Click to Call Transporter !!").snippet( phone )
.position(new LatLng(n, e)))
.setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN));
map.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {


if (marker.getSnippet().equals(phone)) // if marker source is clicked
dialContactPhone(phone);


}
});

它仅调用第一个标记 fragment 的编号,所有标记都及时包含每个 fragment 包含不同的编号。

最佳答案

调用setOnInfoWindowClickListener()在循环之外, map 只有一个 InfoWindowClickListener,它用于所有标记。

然后,只需从 OnInfoWindowClickListener 中的代码段中获取电话号码.

这应该足以满足您的需求:

for ( i = 0; i < MyArrListx.size(); i++) {
n = Double.parseDouble(MyArrListx.get(i));
e = Double.parseDouble(MyArrListy.get(i));
String phone = (MyArrListphonenumber.get(i));
map.addMarker(new MarkerOptions().position(new LatLng(n, e))
.title("Click to Call Transporter !!").snippet( phone )
.position(new LatLng(n, e)))
.setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN));
}



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

//Just get the phone number stored in the snippet, and dial
String phone = marker.getSnippet();
dialContactPhone(phone);
}
});

注意,如果你需要做一些比你可以存储在 Title 和 Snippet 中更复杂的事情,那么使用 HashMap 来存储你的数据,并使用 Marker ID 作为 HashMap 的键,请参阅此处了解更多信息:
https://stackoverflow.com/a/30602617/4409409

关于java - oninfowindowclick 仅在有多个标记的情况下与标记信息一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37357445/

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