SQLite 데이터베이스에서 마커 데이터를 가져옵니다. 그리고이 데이터를 배열 목록에 저장했습니다.Google지도 v2에서지도 아이콘 ID 받기
저의 활동에서 저는 2 개의 마커 사이의 경로를 만듭니다. (그 마커 중 하나는 사용자의 현재 위치입니다.) 그리고 사용자가 임의 마커를 클릭하면이 마커와 사용자의 현재 위치 사이의 경로가 표시됩니다. 하지만 문제가 있습니다. 왜냐하면 어떤 마커가 클릭되었는지 어떻게 알 수 있습니까? 어떤 생각?
MapsActivity.java https://github.com/akexorcist/Android-GoogleDirectionLibrary
라우팅이 작품을 사용하고
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
하지만이 링크에는 정보 창이 클릭 이벤트가 포함되어 있습니다. 마커 클릭에 문제가 있습니다. 그리고 그들의 클릭 기능은 아주 다릅니다. –
그래,하지만 동일한 논리를 적용하고, 마커를 맵에 추가 할 때 HashMap을 사용하고, onMarkerClick에서 마커와 관련된 데이터를 얻고, map.get (마커)'. – GVillani82