33

私はグーグルマップでアプリをやっていますが、「現在地」ボタンを追加しようとすると、リファレンスが言うように機能しません...

それが私のやり方です:

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);はグーグルの参考文献に示されているように使用しました。何が起こっているのかわかりません..

4

6 に答える 6

57

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();
}

setMyLocationEnabled ドキュメンテーション
setMyLocationButtonEnabled ドキュメンテーション

于 2013-04-22T15:05:56.387 に答える
3

map.setMyLocationEnabled(true);マップを作成した後に追加するだけです

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

このようになる

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

map.setMyLocationEnabled(true);
于 2015-05-09T16:32:44.323 に答える