0

SQLite 데이터베이스에서 마커 데이터를 가져옵니다. 그리고이 데이터를 배열 목록에 저장했습니다.Google지도 v2에서지도 아이콘 ID 받기

저의 활동에서 저는 2 개의 마커 사이의 경로를 만듭니다. (그 마커 중 하나는 사용자의 현재 위치입니다.) 그리고 사용자가 임의 마커를 클릭하면이 마커와 사용자의 현재 위치 사이의 경로가 표시됩니다. 하지만 문제가 있습니다. 왜냐하면 어떤 마커가 클릭되었는지 어떻게 알 수 있습니까? 어떤 생각?

참고 : 나는 내 데이터베이스 screenshot

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; 
} 
+0

추가 정보가있는 마커를 매핑하는 데 'HashMap'을 사용할 수 있습니다. http://stackoverflow.com/a/31272741/1584654 – GVillani82

+0

하지만이 링크에는 정보 창이 클릭 이벤트가 포함되어 있습니다. 마커 클릭에 문제가 있습니다. 그리고 그들의 클릭 기능은 아주 다릅니다. –

+0

그래,하지만 동일한 논리를 적용하고, 마커를 맵에 추가 할 때 HashMap을 사용하고, onMarkerClick에서 마커와 관련된 데이터를 얻고, map.get (마커)'. – GVillani82

답변

1

마커를 추가 할 때 당신은 항상 marker.setTag을 (사용할 수 있습니다 ID)를 선택하고 사용자가 마커를 클릭하면 marker.getTag()를 사용하여 클릭 한 마커를 확인합니다.

+0

나는 그것을 시도 할 것이고, 결과를 알려줄 것이다. 대단히 감사합니다. –

+0

내 코드에는 ".to()"함수가 있습니다. 이 함수는 LatLng 데이터 형식을 허용하고 있습니다. 클릭 한 마커를 가져 와서 positon을 얻어야한다는 뜻입니다. –

+0

어디에서이 마커를 얻을 수 있습니까? 귀하의 데이터 출처는 무엇입니까? 소스에 고유 한 것이 있습니까? 예인 경우 해당 ID를 태그로 설정 한 다음 마커를 클릭하면 태그를 확인하고 어떤 마커인지 확인하십시오. 희망이이 의미가 –