我從我的SQLite數據庫中獲取標記數據。我將這些數據存儲在數組列表中。在Google Maps v2中獲取地圖標記ID
在我的活動中,我還創建了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;
}
您可以使用'HashMap'將映射標記與額外信息:http://stackoverflow.com/a/31272741/1584654 – GVillani82
但是,此鏈接包含infowindows點擊事件。我有點擊標記的問題。而他們的點擊功能則完全不同。 –
是的,但我建議你應用相同的邏輯,當你將標記添加到地圖時,使用'HashMap',然後在'onMarkerClick'中獲取與標記相關的數據,使用'map.get(marker )'。 – GVillani82