我正在使用Google Maps Extension Library。我有這個:未在標記infowindow上獲取數據單擊GoogleMap v2 android
int nsize = visibleMarkers.size();
for (int i = 0; i < nsize; i++) {
String title = visibleMarkers.valueAt(i).getTitle();
String desc = visibleMarkers.valueAt(i).getDesc();
Float latitude = visibleMarkers.valueAt(i).getLat();
Float longitude = visibleMarkers.valueAt(i).getLon();
m = map.addMarker(new MarkerOptions()
.position(new LatLng(latitude, longitude))
.title(title)
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.snotel_marker)));
}
和地圖得到填充罰款與所有的標記。
我試圖將數據添加到舉杯看到點擊來自打標窗口的說明和標題:
map.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Toast.makeText(MainActivity.this,
"Title: " + visibleMarkers.valueAt(i).getTitle(),
Toast.LENGTH_SHORT).show();
}
});
當我加入這個setOnInfoWindow監聽器,i
變量需要爲final。我想從我的visibleMarkers SparseArray中獲得標記的標題,但我無法弄清楚如何從標記點擊數據中獲取數據。我知道desc有信息,因爲使用.snippet(desc)顯示標記點擊的信息。
我在這裏錯過了什麼?
編輯:::
我改變了我的onPostExecute添加標記M和我的數據到另一個陣列:
int nsize = visibleMarkers.size();
for (int i = 0; i < nsize; i++) {
MapMarkers marks = new MapMarkers();
String title = visibleMarkers.valueAt(i).getTitle();
String desc = visibleMarkers.valueAt(i).getDesc();
Float latitude = visibleMarkers.valueAt(i).getLat();
Float longitude = visibleMarkers.valueAt(i).getLon();
m = map.addMarker(new MarkerOptions()
.position(new LatLng(latitude, longitude))
.title(title)
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.snotel_marker)));
marks.setTitle(title);
marks.setDesc(desc);
markerInfo.put(m, marks);
map.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
MapMarkers markInfo = markerInfo.get(marker);
Intent i = new Intent(MainActivity.this,
MarkerInformation.class);
i.putExtra("name", markInfo.getTitle()).putExtra(
"description", markInfo.getDesc());
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
});
}
不似乎正確的嗎?
我如何獲取此信息? visibleMarkers。???我沒有看到任何給我提供數據的東西。感謝您的迴應。 – jasonflaherty
@jasonflaherty mark.getTitle()如何? –
是啊,試試@MaciejGórski說'marker.getTitle()'其中標記是你從'onInfoWindowClick'方法收到的對象 –