안녕하세요.
대략 소스는 저렇습니다.
오버레이 클레스를 상속받은 내부 클래스를 정의 했습니다.
아이콘을 여러가지로 하고 싶은데요.........
그럴때마다
private class SitesOverlay_1 extends ItemizedOverlay<OverlayItem>
private class SitesOverlay_2 extends ItemizedOverlay<OverlayItem>
private class SitesOverlay_3 extends ItemizedOverlay<OverlayItem>
이런식으로 클래스를 만들어야 하는지 ................... 이건 완전 비효율 적이네요...........
아니면 하단의 SitesOverlay 클래스내에서 아이콘을 변경가능 한가요?
오버레이부분 검색을 해봐도, 책을 찾아봐도, 레퍼런스를 찾아봐도 관련내용 설명을 못찾겠습니다. ㅜㅜ
좋은 하루 되시구요, 답변 부탁 드리겠습니다.
감사합니다.
public Drawable mMarker
mMarker = getResources().getDrawable(R.drawable.dialog_title);
mMarker.setBounds(0, 0, mMarker.getIntrinsicWidth(), mMarker.getIntrinsicHeight());
mSiteOberlay = new SitesOverlay(mMarker);
private class SitesOverlay extends ItemizedOverlay<OverlayItem> {
Drawable marker = null;
public SitesOverlay(Drawable marker){
super(marker);
this.marker = marker;
for(int i=0; i<mDatas.size();i++){
items.add(new OverlayItem(
getPoint(Double.parseDouble(mDatas.get(i).get("motel_latitude")),Double.parseDouble(mDatas.get(i).get("motel_longitude"))),
mDatas.get(i).get("motel_name"),
mDatas.get(i).get("motel_grade")));
}
populate();
}
답변감사합니다.
소스 상단에
mMarkerOpen = getResources().getDrawable(R.drawable.dialog_title_open); 을 추가하고 public SitesOverlay(Drawable marker, Drawable markerOpen){ 이렇게 두개의 아이콘을 전달한 상태에서 어떤 조건에 따라 SitesOverlay 생성자 안에서 아이콘을 변경할수 있나요? super(marker); 로 지정된 아이콘만 나오는거 같은데............ 설명이 부족하지만........ 도와주세요.... ㅜㅜ
mMarker = getResources().getDrawable(R.drawable.dialog_title);
여기에 마커를 정의하셨네요.
저걸 바꿔주시면 됩니다.