在 Google Maps v2 中获取地图标记 ID
Getting a map marker ID in Google Maps v2
我正在从我的 SQLite 数据库中获取我的标记数据。我将这些数据存储在数组列表中。
在我的 activity 中,我还创建了 2 个标记之间的路线。 (其中一个标记是用户的当前位置)用户点击随机标记,它会显示该标记与用户当前位置之间的路线。
但我有问题。因为我不知道我怎么知道点击了哪个标记?有什么想法吗?
注意:我将这项工作用于路由
https://github.com/akexorcist/Android-GoogleDirectionLibrary
我的数据库
MapsActivity.java
SQLiteDatabase db=dbHelper.getReadableDatabase();
String[] getColumnName={"bakim_enlem,bakim_boylam,bakim_title"};
Cursor imlec=db.query("bakim_yerleri", getColumnName, null, null, null, null, null);
while(imlec.moveToNext())
{
mMap.addMarker(new MarkerOptions().position(new LatLng
(imlec.getDouble(imlec.getColumnIndex("bakim_enlem")),imlec.getDouble(imlec.getColumnIndex("bakim_boylam"))))
.title(imlec.getString(imlec.getColumnIndex("bakim_title"))).
icon(BitmapDescriptorFactory.fromResource(R.drawable.mapmarker)));
}
}
//route code
@Override
public boolean onMarkerClick(final Marker marker)
{
//in default, you can write here and down there-> LatLng marker1
if (marker.equals(**?**))
{
CoordinatorLayout rootLayout = (CoordinatorLayout) findViewById(R.id.mapCoordinatorLayout);
Snackbar.make(rootLayout, "Rota oluşturuluyor...", Snackbar.LENGTH_LONG).show();
GoogleDirection.withServerKey(serverKey)
.from(suanKonumumuz)
.to(**?**)
.transportMode(TransportMode.DRIVING)
.execute(this);
}
return true;
}
添加标记时,您始终可以使用 marker.setTag(ID),当用户单击标记时,尝试 marker.getTag() 找出单击的标记。
我正在从我的 SQLite 数据库中获取我的标记数据。我将这些数据存储在数组列表中。
在我的 activity 中,我还创建了 2 个标记之间的路线。 (其中一个标记是用户的当前位置)用户点击随机标记,它会显示该标记与用户当前位置之间的路线。 但我有问题。因为我不知道我怎么知道点击了哪个标记?有什么想法吗?
注意:我将这项工作用于路由 https://github.com/akexorcist/Android-GoogleDirectionLibrary
我的数据库
MapsActivity.java
SQLiteDatabase db=dbHelper.getReadableDatabase();
String[] getColumnName={"bakim_enlem,bakim_boylam,bakim_title"};
Cursor imlec=db.query("bakim_yerleri", getColumnName, null, null, null, null, null);
while(imlec.moveToNext())
{
mMap.addMarker(new MarkerOptions().position(new LatLng
(imlec.getDouble(imlec.getColumnIndex("bakim_enlem")),imlec.getDouble(imlec.getColumnIndex("bakim_boylam"))))
.title(imlec.getString(imlec.getColumnIndex("bakim_title"))).
icon(BitmapDescriptorFactory.fromResource(R.drawable.mapmarker)));
}
}
//route code
@Override
public boolean onMarkerClick(final Marker marker)
{
//in default, you can write here and down there-> LatLng marker1
if (marker.equals(**?**))
{
CoordinatorLayout rootLayout = (CoordinatorLayout) findViewById(R.id.mapCoordinatorLayout);
Snackbar.make(rootLayout, "Rota oluşturuluyor...", Snackbar.LENGTH_LONG).show();
GoogleDirection.withServerKey(serverKey)
.from(suanKonumumuz)
.to(**?**)
.transportMode(TransportMode.DRIVING)
.execute(this);
}
return true;
}
添加标记时,您始终可以使用 marker.setTag(ID),当用户单击标记时,尝试 marker.getTag() 找出单击的标记。