我需要在地图上显示多个位置。 我希望每个标记的信息/标签都与图钉图标一起显示在地图上,无论用户是否单击了标记/图钉。 我有以下代码来显示标记。
for (DepartmentLocation loc : departmentLocations) {
if (loc != null && loc.getLatitude() != null && loc.getLongitude() != null) {
LatLng latLng = new LatLng(loc.getLatitude(), loc.getLongitude());
googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
googleMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
MarkerOptions markerOptions = new MarkerOptions().position(latLng).title(loc.getName());
markerOptions.visible(true);
Marker marker = googleMap.addMarker(markerOptions);
marker.showInfoWindow();
marker.setVisible(true);
markers.add(marker);
}
}
但是,我仍然只看到红色的针脚,而针脚旁边没有标签。 这是我的地图的样子。我只能看到一个信息标签,而看不到其他信息标签。
我已经尝试过使用地图工具中的IconGenerator。
实现'com.google.maps.android:android-maps-utils:0.5'
for (DepartmentLocation loc : departmentLocations) {
if (loc != null && loc.getLatitude() != null && loc.getLongitude() != null) {
LatLng latLng = new LatLng(loc.getLatitude(), loc.getLongitude());
googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
googleMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
MarkerOptions markerOptions = new MarkerOptions()
.icon(BitmapDescriptorFactory.fromBitmap(iconFactory.makeIcon(loc.getName())))
.position(latLng)
.title(loc.getName());
markerOptions.visible(true);
Marker marker = googleMap.addMarker(markerOptions);
marker.showInfoWindow();
marker.setVisible(true);
markers.add(marker);
}
}
答案 0 :(得分:1)
在文档中,有一条文字说信息窗口一次显示一次,所以没有办法做到这一点:
“信息窗口可让您在用户显示信息时 点击一个标记。 一次只显示一个信息窗口 。如果一个 用户点击标记,当前信息窗口将关闭, 将显示新的信息窗口。请注意,如果用户单击 当前正在显示信息窗口的标记,该信息窗口 关闭并重新打开。”
您可以在此处了解更多信息:https://developers.google.com/maps/documentation/android-sdk/infowindows
答案 1 :(得分:1)
在GoogleMap上一次只显示一个InfoWindow。您一次不能显示多个InfoWindow。
您必须为此使用IconGenerator。您可以将视图设置为IconGenerator并创建该视图的位图。您可以创建一个既包含标记又包含您的InfoWindow视图的视图。使用该视图创建您所需的标记。
您可以选中此answer