2012-09-23 2 views
0

내 응용 프로그램에서 작동하는 다음 기능이 있습니다.MyLocatoinOverlay disableMyLocation 또는 OverlayItem 사용

  1. 저는 MyLocationOverlay를 사용하여 현재 위치를 가져옵니다.
  2. 깜박이는 파란색 마커 대신 맞춤 마커를 삭제할 수 있도록 MyLocationOverlay를 확장했습니다.

마지막 요구 사항에 대한 도움이 필요합니다. MyLocationOverlay가 원래 발견 한 위치에서 고정 된 상태로 마커를 유지하기 만하면 위성에서 위성으로 점프하여 이동할 수 있습니다.

이러한 유형의 사용자 환경을 만들기위한 나의 선택은 무엇입니까?

답변

0

CustomLocationOverlay 내부의 drawMyLocation 함수에 입력 된 첫 번째 geopoint를 저장하고 myLocation 대신이 함수를 사용하는 것이 좋습니다.

int intFirstGeoPoint = 0; 
GeoPoint FirstGeoPoint; 

protected void drawMyLocation(Canvas canvas, MapView mapView, Location lastFix, GeoPoint myLocation, long when) { 

     if(intFirstGeoPoint == 0){ 
      FirstGeoPoint=myLocation; 
      intFirstGeoPoint=1; 
     }else{ 
      myLocation=FirstGeoPoint; 
     } 

     // translate the GeoPoint to screen pixels 
     Point screenPts = mapView.getProjection().toPixels(myLocation, null); 
     ... 
     ... 

또한이 위치를 캡처 만 LocationOverlay

+0

당신은 아마 또 다른 질문을해야을 납치 대신에이 점을 그리는 새로운 DrawableMapOverlay를 만들 수 있습니다. 그러나 그렇습니다. 동일한 FirstGeoPoint를 사용하여 그 시점에서 약간의 오프셋을 사용하여 canvas.drawText()를 수행하십시오. 다른 질문을하면 더 자세히 설명해 드리겠습니다. – greekygyro