2013-04-22 5 views
26

Google지도와 함께 앱을 만들고 있는데 참조가 작동하지 않는 것처럼 '내 위치'버튼을 추가하려고하면 ...Google지도 v2 Android의 내 위치 버튼

내가 어떻게

그게 전부 :

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 

     locManager = (LocationManager)getSystemService(LOCATION_SERVICE); 
     providersList = locManager.getAllProviders(); 
     provider =locManager.getProvider(providersList.get(0)); 
     precision = provider.getAccuracy(); 
     req = new Criteria(); 
     req.setAccuracy(Criteria.ACCURACY_FINE);   
     inside = false; 

     map.getUiSettings().setMyLocationButtonEnabled(true); 

     buildPolygon(); 
     drawPolygon(); 
     startLocalization(); 
    } 

나는 구글의 기준에서 볼 수 있듯이 map.getUiSettings().setMyLocationButtonEnabled(true);을 사용했다. 무슨 일이 일어나고 있는지 모르겠다.

답변

49

myLocationButtonEnabled은 기본적으로 true이며 setMyLocationEnabled 레이어가 활성화되면 표시됩니다.

이 시도 :

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 

    // Add this line 
    map.setMyLocationEnabled(true); 

    locManager = (LocationManager)getSystemService(LOCATION_SERVICE); 
    providersList = locManager.getAllProviders(); 
    provider =locManager.getProvider(providersList.get(0)); 
    precision = provider.getAccuracy(); 
    req = new Criteria(); 
    req.setAccuracy(Criteria.ACCURACY_FINE);   
    inside = false; 

    //map.getUiSettings().setMyLocationButtonEnabled(true); 

    buildPolygon(); 
    drawPolygon(); 
    startLocalization(); 
} 

setMyLocationEnabledDocumentation
setMyLocationButtonEnabledDocumentation

+3

리얼리 !!! 오 세상에 .. facepalm! 감사의 말 ... 그것은 완벽하게 작동합니다. 이 MyLocationEnale을 (를) 보지 못했습니다. 다시 감사합니다 !!! – Shudy

+1

수시로 우리에게 가장 좋은 일이 생깁니다. :). 다행히 도울 수있어. 행운을 빌어 요! – jnthnjns

+1

제 경우에는 setMyLocationEnabled (true)를 추가해도 코드 위치가 동시에 가져 오거나 들리지 않는 한 도움이되지 않습니다. 어떻게 든 파란색 점이지도에 표시됩니다. – Yar

2

그냥 map.setMyLocationEnabled(true);을 추가 한 후지도를 만들

map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 

이 이렇게된다

map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 

map.setMyLocationEnabled(true);