我已经使用infoWindows填充了我的地图代码,这很好用:
query.addValueEventListener(new ValueEventListener()
{
@Override
public void onDataChange(DataSnapshot dataSnapshots)
{
Marker marker;
for (DataSnapshot dataSnapshot : dataSnapshots.getChildren())
{
Location location = dataSnapshot.getValue(Location.class);
IdLocation.put(location,dataSnapshot.getKey());
marker = mgoogleMap.addMarker(new MarkerOptions()
.position(new LatLng(location.getLatitude(), location.getLongitude())) .title(getString(R.string.tipologia))
.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_free)));
mapLocation.put(marker,location);
}
}
@Override
public void onCancelled(DatabaseError databaseError)
{
}
});
但我不知道它是否也适用于1M / 10M标记(我的应用程序需要可扩展很多)。在这种情况下,使用HashMap是好的还是我必须使用其他东西?问题还在于InfoWindows它不接受任何参数...
谢谢
答案 0 :(得分:2)
如果您需要可扩展性,我建议您使用ConcurrentHashMap,您可以关注这篇文章以获得更深层次的答案:
Scalability issue with HashMap in Multithreaded Multicore system