Je fais une application, avec google maps, mais quand j'essaye d'ajouter le bouton "mon emplacement", comme le dit la référence ne fonctionne pas ...
c'est comme ça que je fais:
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();
}
J'ai utilisé map.getUiSettings().setMyLocationButtonEnabled(true);
comme le montre la référence de google. Je ne sais pas ce qui se passe ..
Le myLocationButtonEnabled
est vrai par défaut et affiché lorsque le calque setMyLocationEnabled
est activé.
essaye ça:
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
DocumentationsetMyLocationButtonEnabled
Documentation
il suffit d'ajouter map.setMyLocationEnabled(true);
après avoir créé votre carte
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
être comme ça
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
map.setMyLocationEnabled(true);
Pour moi, map.setMyLocationEnabled (true);
. Plus tard, mon bouton de localisation est devenu visible.
Les réponses ci-dessus n'ont pas fonctionné.
override fun onMapReady(googleMap: GoogleMap?) {
this.googleMap = googleMap
setupMap()
}
private fun setupMap() {
if (ActivityCompat.checkSelfPermission(context!!,
Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
// Before enabling the My Location layer, you must request location permission from the user.
googleMap?.isMyLocationEnabled = true
// *** Use this method ***
googleMap?.uiSettings?.isMyLocationButtonEnabled = true
// See https://developers.google.com/maps/documentation/Android-sdk/location
googleMap?.setOnMyLocationButtonClickListener(this)
googleMap?.setOnMyLocationClickListener(this)
} else {
// Show rationale and request permission.
requestPermissions(arrayOf(Manifest.permission.ACCESS_FINE_LOCATION),
LOCATION_REQUEST_CODE)
}
}