2013-04-22 23 views
26

Googleマップを使用してアプリをやっていますが、「マイロケーション」ボタンを追加しようとすると、参照では機能しません...Googleマップv2 AndroidのMy-Locationボタンは表示されません

私はどのように行うのthats:

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); 
関連する問題