이지도와 연결된 오버레이 레이어에 그려진 경로가있는 Google지도를 보여주는 레이아웃을 개발하려고합니다. 이 mapView가 작은 정적지도로 표시되어 사용자가 따라 다니는 기본 경로를 미리보기 이미지로 표시 한 다음 사용자가 클릭하면 경로를 통해 전체 화면으로지도를 표시하는 다른 활동으로 이동합니다. 및 모든 줌 기능을 제공합니다.onTap 메서드를 인식하는 정적 Mapview를 만드는 방법
내가 오버레이 설정의 onTap 메소드를 새 액티비티에 대한 오버라이드를 오버라이드하지만 setEnabled (true)로 MapView를 설정 한 경우에만 작동하지만, 그렇게 할 경우 미리보기 맵 사용자가 드래그하여 이동할 수 있습니다.
충분히 명확하지 않은 경우 유감이지만 더 나은 설명이 필요합니다.
이 사전
에서감사하다 오버레이를 확장하고 ONTAP 방법 오버라이드 (override) 내 사용자 정의 클래스 :
class MapOverlay extends Overlay {
@Override
public boolean onTap(GeoPoint p, MapView mapView) {
Intent i = new Intent(getApplicationContext(),
RouteMapActivity.class);
startActivity(i);
return false;
};
을 그리고 이것은 내에서 onCreate 방법 : 지금은 '에 대한
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.detailrun_activity);
map = (MapView) findViewById(R.id.mvMain);
map.setEnabled(true);
map.setClickable(true);
MapOverlay mapOverlay = new MapOverlay();
List<Overlay> listOfOverlays = map.getOverlays();
projection = map.getProjection();
listOfOverlays.clear();
listOfOverlays.add(mapOverlay);
double lat = 28.063119 * 1E6, longi = -82.41128 * 1E6;
GeoPoint point = new GeoPoint((int) lat, (int) longi);
MapController myMapController = map.getController();
myMapController.setCenter(point);
}
두 GeoPoint 사이에서 직선 만 그리면 어떤 logcat 오류도 발생하지 않습니다.
경로가 포함 된 맵이 실제로 그려지고 오버라이드 된 onTap 메서드가 작동하지만 내 mapView가 enabled 및 clickable로 정의되어있는 경우 탭을 인식하는 것처럼 보이지만 그렇게하면 사용자도 이동할 수 있습니다. 화면을 누른 상태에서지도를 드래그하십시오.
코드를 표시하십시오. 그리고 당신은 현재 코드와 함께 logcat에 오류가 발생했는지 보여줍니다. 내 견적은 onClick/onTab 메서드를 재정의하는 것입니다. 어쩌면 당신은 대신 onTouch 이벤트를 잡을 필요가 있습니다 :) –
그 MapView를 차단하는 방법에 대한 다른 제안 ?? – GonzoBongo
아직 코드가 표시되지 않았습니다. –