我遇到以下问题:我在 Google 地图上有多个标记。我已经使用一个 For 循环来完成此操作,该循环遍历我的对象数组并为每个对象添加一个标记。标记显示标题和地址。但现在我需要制作可点击的 InfoWindow(或只是可点击的标记),它将显示一个包含附加信息(描述)的 AlertDialog。但我无法让它工作。或者,数据不需要显示在 AlertDialog 中,我也可以显示在 TextView 中。
这是显示标记的部分代码(这是一个 FragmentActivity):
...
Double longitude, latitude;
static LatLng coordinates;
GoogleMap supportMap;
String title, address;
BitmapDescriptor bdf;
ArrayList<GasStations> listGas = new ArrayList<GasStations>();
SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
supportMap = fm.getMap();
...
if (listGas != null) {
for (int i = 0; i < listGas.size(); i++) {
longitude = listGas.get(i).getLongitude();
latitude = listGas.get(i).getLatitude();
naslov = listGas.get(i).getTitle();
adresa = listGas.get(i).getAddress() + " "
+ listGas.get(i).getLocation();
koordinate = new LatLng(latitude, longitude);
supportMap.addMarker(new MarkerOptions().position(koordinate)
.title(title).snippet(address).icon(bdf));
supportMap.moveCamera(CameraUpdateFactory.newLatLngZoom(
coordinates, 10));
}
}
标记显示得很好,它们的 InfoWindows 显示正确的数据。但现在我想根据单击的 InfoWindow 显示其他信息。如果这不能通过 InfoWindow 完成,是否可以通过单击特定标记来完成?