2012-11-10 2 views
0

내지도에 Google지도를 사용하고 있습니다. this guide from Google itself에 정확한 코드를 사용하여 ItemizedOverlay를 사용하여지도에 마커를 추가했습니다.지도보기 마커가 축소 될 때 약간 움직입니다.

그러나 축소하면 마커가 약간 왼쪽으로 이동합니다.

여기 내 응용 프로그램의 screenshoot는 비록 서클 반경 오버레이 장소에 머물 :

그것은 실제 구글지도 애플리케이션에서 발생하지 않습니다 Zoomed in --------- Zoomed out

:

I

enter image description here ---- enter image description here

하드 코딩 지리적 위치를 사용하여 시도했으나 여전히 약간 마커 해요 고작. 아무도 이것의 해결책을 안다?

감사

[편집]

가 여기 내 ItemizedOverlay 클래스

public class MyItemizedOverlay extends ItemizedOverlay { 
    private ArrayList<OverlayItem> overlays = new ArrayList<OverlayItem>(); 
    Context context; 

    public MyItemizedOverlay(Drawable marker) { 
     super(boundCenterBottom(marker)); 
    } 

    public MyItemizedOverlay(Drawable marker, Context context) { 
     super(boundCenterBottom(marker)); 
     context = context; 
    } 

    public void addOverlay(OverlayItem overlay) { 
     overlays.add(overlay); 
     populate(); 
    } 

    @Override 
    protected OverlayItem createItem(int i) { 
     return g_overlays.get(i); 
    } 

    @Override 
    public int size() { 
     return overlays.size(); 
    } 

    protected boolean onTap(int i) { 
     //... 
    } 
} 

여기

List<Overlay> mapOverlays = mapView.getOverlays(); 
Drawable drawable = this.getResources().getDrawable(R.drawable.map_pin); 
MyItemizedOverlay mio = new MyItemizedOverlay(drawable, this); 
OverlayItem oi = new OverlayItem(mGeoPoint, "Your location", ""); 
mio.addOverlay(oi); 
mapOverlays.add(mio); 

답변

0

은 그냥 사실을 발견 위의 클래스를 호출하는 코드는 이 원인은입니다. ItemizedOverlay 생성자 내부

나는 boundCenter로 변경하며

public MyItemizedOverlay(Drawable marker) { 
    super(boundCenter(marker)); 
} 
을 축소 한 후 제자리에 유지
관련 문제