Je développe une application Geo Escrime pour Android, sur l'application je sauve la clôture qui vient d'être créé par l'utilisateur parAndroid mutiple marqueurs non tracé sur la carte
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putLong("key_lat", Double.doubleToRawLongBits(marker1.getPosition().latitude));
editor.putLong("key_lon", Double.doubleToRawLongBits(marker1.getPosition().longitude));
editor.putLong("lock_lat", Double.doubleToRawLongBits(marker2.getPosition().latitude));
editor.putLong("lock_lon", Double.doubleToRawLongBits(marker2.getPosition().latitude));
editor.apply();
où marker1 est le cercle de clôture center et marker2 représentent la limite extérieure. chaque fois que le dos de connexion utilisateur à l'application, s'il y a un service de clôture en cours d'exécution en arrière-plan la clôture précédente doit montre-à-dire, à la fois les co clôture ordonnées dans la carte, mais seulement le premier marqueur est montré
@Override
public void onConnected(@Nullable Bundle bundle) {
Toast.makeText(getApplicationContext(),"GoogleApi Connection Success..",Toast.LENGTH_SHORT).show();
getCurrentLocation();
if (isMyServiceRunning(GpsReadingService.class)){
recoverGeofenceMarker();
}}}
// Recovering last Geofence marker
private void recoverGeofenceMarker() {
Log.d(TAG, "recoverGeofenceMarker");
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
if (sharedPref.contains("key_lat") && sharedPref.contains("key_lon")&& sharedPref.contains("lock_lat")&&sharedPref.contains("lock_lon")) {
double alat = Double.longBitsToDouble(sharedPref.getLong("key_lat", -1));
double alon = Double.longBitsToDouble(sharedPref.getLong("key_lon", -1));
LatLng slatLng = new LatLng(alat, alon);
double blat = Double.longBitsToDouble(sharedPref.getLong("lock_lat", -1));
double blon = Double.longBitsToDouble(sharedPref.getLong("lock_lon", -1));
LatLng elatLng=new LatLng(blat,blon);
double area_cov=Double.parseDouble(pref.getString("area_cov","350.012"));
System.out.println("Saved Latlong values are---------------------------------->"+alat+","+alon+"\t"+area_cov);
latlngs.add(slatLng);latlngs.add(elatLng);
for (LatLng point : latlngs) {
options.position(point);
options.title("someTitle");
options.snippet("someDesc");
mMap.addMarker(options);
}
CircleOptions circleOptions = new CircleOptions()
.center(slatLng)
.strokeColor(Color.argb(100, 150,150,150))
.fillColor(Color.argb(50, 70,70,70))
.radius(area_cov);
geoFenceLimits = mMap.addCircle(circleOptions);
}
}
Pouvez-vous guyzs aide plse .. Je l'ai déjà essayé ce lien, Link 1 mais seul le premier marqueur est montré