2013-05-06 2 views
0

getSystemService() 메소드를 사용하여 WindowManager를 가져 오려고합니다. 여기 코드 나는이된다Android - 컨텍스트 - Google지도 V2 - 유형 불일치 : Object에서 WindowManager로 변환 할 수 없습니다.

private int calculateZoomLevel() { 
    int ht, screenWidth; 
    DisplayMetrics displayMetrics = new DisplayMetrics(); 
    WindowManager winManager; 
    winManager = Context.getSystemService(Context.WINDOW_SERVICE); 
    winManager.getDefaultDisplay().getMetrics(displayMetrics); 

    ht = displayMetrics.heightPixels; 
    screenWidth = displayMetrics.widthPixels; 

    double equatorLength = 40075004; 
    double widthInPixels = screenWidth; 
    double metersPerPixel = equatorLength/256; 
    int zoomLevel = 1; 
    while ((metersPerPixel * widthInPixels) > 1000) { 
     metersPerPixel /= 2; 
     ++zoomLevel; 
    } 
    Log.i(TAG, "zoom level is: "+ zoomLevel); 
    return zoomLevel; 
} 

다음과 같은 코드가 라인 :

winManager = Context.getSystemService(Context.WINDOW_SERVICE); 

내가 갖는 오류 : 유형 불일치 :

창 관리자

에 Object에서 변환 할 수 없습니다 이 코드가 WindowManager 유형을 반환한다고 생각하지 않습니까? WindowManager의 반환 유형을 얻을 수 있도록이 문제를 해결하려면 어떻게해야합니까?

답변

1

Activity 클래스의 메소드 인 getWindowManager()을 더 간단하게 사용해야합니다.

0

당신은 당신이 당신 GoogleMap으로 객체에 getCameraPosition()를 사용하지 않는 이유가 궁금하네요 코드를 보면 this->

winManager = (WindowManager) Context.getSystemService(Context.WINDOW_SERVICE);