我想在我的应用程序中显示Google地图上的所有标记,使用信息窗口,当点击信息窗口时,它应该带我到另一个活动进行描述。 我可以在地图上显示所有标记,但是当我点击信息窗口时,它会将我带到我数据库中存储的最后一项。我做错了什么? 这是我的代码:
Cursor c1 = newDB.rawQuery("SELECT name,latitude,longtude,category_type FROM facilities " , null);
if (c1 != null ) {
if (c1.moveToFirst()) {
do {
double latitude =c1.getDouble(c1.getColumnIndex("latitude"));
double longitude = c1.getDouble(c1.getColumnIndex("longtude"));
String cat =c1.getString(c1.getColumnIndex("category_type"));
nnn = c1.getString(c1.getColumnIndex("name"));
GeoPoint p = new GeoPoint(
(int)(latitude *1E6 ),
(int)(longitude *1E6 ));
//Write a code to display this point on google-map
// map.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).title(nnn));
if ("Monuments".equals(cat))
{
Marker melbourne = map.addMarker(new MarkerOptions()
.position(new LatLng(latitude, longitude))
.title(nnn)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.palace)));
onInfoWindowClick(melbourne);
map.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Intent intent = new Intent(NearbyActivity.this,Description.class);
intent.putExtra("id", nnn);
startActivity(intent);
} });
}
它在信息窗口右侧获取标题的值(变量nnn),只有当我点击信息窗口时,它才使变量(nnn)成为数据库中存储的最后一项。我需要帮助。
提前致谢:)