I have a map with a lot of markers. When you click marker, small windows with information will appear. When you click it I want to call fragment. I found that I should use onInfoWindowClick but something is wrong. I can't get any values.
public class Map extends Activity implements OnInfoWindowClickListener{
static final LatLng xxx = new LatLng(70.000, 70,22);
static String[] streets;
static String[] artist;
Coordinate cor = new Coordinate();
private GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map_layout);
try {
initilizeMap();
} catch (Exception e) {
e.printStackTrace();
}
Resources res = this.getResources();
artist = res.getStringArray(R.array.authors_nicks);
streets = res.getStringArray(R.array.streets);
for (int i = 0; i < cor.coordinatesVale.size(); i++) {
Marker m = googleMap.addMarker(new MarkerOptions()
.position(cor.coordinatesVale.get(i))
.title(artist[i])
.snippet(streets[i])
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.marker)));
m.getId();
}
googleMap.setMyLocationEnabled(true);
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(xxx, 12));
googleMap.animateCamera(CameraUpdateFactory.zoomTo(12), 2000, null);
}
@Override
public void onInfoWindowClick(Marker marker) {
String id = marker.getId();
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.putExtra("dsdsd", 3);
startActivity(i);
Log.i("dddd", id); /// CAN't see
}
private void initilizeMap() {
if (googleMap == null) {
googleMap = ((MapFragment) getFragmentManager().findFragmentById(
R.id.map)).getMap();
if (googleMap == null) {
Toast.makeText(getApplicationContext(),
"Unable to create maps", Toast.LENGTH_SHORT)
.show();
}
}
}
@Override
protected void onResume() {
super.onResume();
initilizeMap();
}
}
I found some tutorials, but I'm don't know what I'm doing wrong