How can i replace FusedLocationApi with FusedLocationProviderClient?
I want to find current location on connected. I am currently using FusedLocationApi which is deprecated. i have to use requestLocationUpdate method but i am getting some syntax error while using FusedLocationProviderClient. i also have to use removeLocationupdate in onPause and onDestroy.
This is my current code which is using FusedLocationProviderClient-
@Override
public void onConnected(@Nullable Bundle bundle) {
mLocationRequest = LocationRequest.create();
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setInterval(1000);
mLocationRequest.setFastestInterval(1000);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String permissions,
// int grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleClientApi, mLocationRequest, this);
if (mCurrentLocMarker == null) {
Location loc = LocationServices.FusedLocationApi.getLastLocation(mGoogleClientApi);
mLastLocation = loc;
if (loc != null) {
LatLng latLng = new LatLng(loc.getLatitude(), loc.getLongitude());
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
markerOptions.title("Current Location");
markerOptions.flat(true);
int height = 150;
int width = 150;
BitmapDrawable bitmapDrawable = (BitmapDrawable)getResources().getDrawable(R.drawable.icon_navigation);
Bitmap bitmap = bitmapDrawable.getBitmap();
Bitmap marker = Bitmap.createScaledBitmap(bitmap, width, height, false);
markerOptions.icon(BitmapDescriptorFactory.fromBitmap(marker));
markerOptions.anchor(0.5f, 0.5f);
mCurrentLocMarker = mMap.addMarker(markerOptions);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(latLng)
.zoom(17)
.build();
mMap.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
}
}
@Override
protected void onPause() {
super.onPause();
mapView.onPause();
String trackid = SharedPreferenceManager.getmInstance(this).getTrackId();
if (mGoogleClientApi != null) {
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleClientApi,this);
}
if (!trackid.equals("NO DATA")) {
startService(new Intent(this, LocationService.class));
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
String trackid = SharedPreferenceManager.getmInstance(this).getTrackId();
if (mGoogleClientApi != null) {
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleClientApi, this);
}
if (!trackid.equals("NO DATA")) {
startService(new Intent(this, LocationService.class));
}
}
This is i tried but cannot implement its requestLocationUpdate and removeLocationUpdate:
FusedLocationProviderClient fusedLocationProviderClient; //Global variable
fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this); //initiate in onCreate
android google-maps location fusedlocationproviderapi
add a comment |
I want to find current location on connected. I am currently using FusedLocationApi which is deprecated. i have to use requestLocationUpdate method but i am getting some syntax error while using FusedLocationProviderClient. i also have to use removeLocationupdate in onPause and onDestroy.
This is my current code which is using FusedLocationProviderClient-
@Override
public void onConnected(@Nullable Bundle bundle) {
mLocationRequest = LocationRequest.create();
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setInterval(1000);
mLocationRequest.setFastestInterval(1000);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String permissions,
// int grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleClientApi, mLocationRequest, this);
if (mCurrentLocMarker == null) {
Location loc = LocationServices.FusedLocationApi.getLastLocation(mGoogleClientApi);
mLastLocation = loc;
if (loc != null) {
LatLng latLng = new LatLng(loc.getLatitude(), loc.getLongitude());
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
markerOptions.title("Current Location");
markerOptions.flat(true);
int height = 150;
int width = 150;
BitmapDrawable bitmapDrawable = (BitmapDrawable)getResources().getDrawable(R.drawable.icon_navigation);
Bitmap bitmap = bitmapDrawable.getBitmap();
Bitmap marker = Bitmap.createScaledBitmap(bitmap, width, height, false);
markerOptions.icon(BitmapDescriptorFactory.fromBitmap(marker));
markerOptions.anchor(0.5f, 0.5f);
mCurrentLocMarker = mMap.addMarker(markerOptions);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(latLng)
.zoom(17)
.build();
mMap.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
}
}
@Override
protected void onPause() {
super.onPause();
mapView.onPause();
String trackid = SharedPreferenceManager.getmInstance(this).getTrackId();
if (mGoogleClientApi != null) {
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleClientApi,this);
}
if (!trackid.equals("NO DATA")) {
startService(new Intent(this, LocationService.class));
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
String trackid = SharedPreferenceManager.getmInstance(this).getTrackId();
if (mGoogleClientApi != null) {
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleClientApi, this);
}
if (!trackid.equals("NO DATA")) {
startService(new Intent(this, LocationService.class));
}
}
This is i tried but cannot implement its requestLocationUpdate and removeLocationUpdate:
FusedLocationProviderClient fusedLocationProviderClient; //Global variable
fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this); //initiate in onCreate
android google-maps location fusedlocationproviderapi
add a comment |
I want to find current location on connected. I am currently using FusedLocationApi which is deprecated. i have to use requestLocationUpdate method but i am getting some syntax error while using FusedLocationProviderClient. i also have to use removeLocationupdate in onPause and onDestroy.
This is my current code which is using FusedLocationProviderClient-
@Override
public void onConnected(@Nullable Bundle bundle) {
mLocationRequest = LocationRequest.create();
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setInterval(1000);
mLocationRequest.setFastestInterval(1000);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String permissions,
// int grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleClientApi, mLocationRequest, this);
if (mCurrentLocMarker == null) {
Location loc = LocationServices.FusedLocationApi.getLastLocation(mGoogleClientApi);
mLastLocation = loc;
if (loc != null) {
LatLng latLng = new LatLng(loc.getLatitude(), loc.getLongitude());
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
markerOptions.title("Current Location");
markerOptions.flat(true);
int height = 150;
int width = 150;
BitmapDrawable bitmapDrawable = (BitmapDrawable)getResources().getDrawable(R.drawable.icon_navigation);
Bitmap bitmap = bitmapDrawable.getBitmap();
Bitmap marker = Bitmap.createScaledBitmap(bitmap, width, height, false);
markerOptions.icon(BitmapDescriptorFactory.fromBitmap(marker));
markerOptions.anchor(0.5f, 0.5f);
mCurrentLocMarker = mMap.addMarker(markerOptions);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(latLng)
.zoom(17)
.build();
mMap.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
}
}
@Override
protected void onPause() {
super.onPause();
mapView.onPause();
String trackid = SharedPreferenceManager.getmInstance(this).getTrackId();
if (mGoogleClientApi != null) {
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleClientApi,this);
}
if (!trackid.equals("NO DATA")) {
startService(new Intent(this, LocationService.class));
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
String trackid = SharedPreferenceManager.getmInstance(this).getTrackId();
if (mGoogleClientApi != null) {
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleClientApi, this);
}
if (!trackid.equals("NO DATA")) {
startService(new Intent(this, LocationService.class));
}
}
This is i tried but cannot implement its requestLocationUpdate and removeLocationUpdate:
FusedLocationProviderClient fusedLocationProviderClient; //Global variable
fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this); //initiate in onCreate
android google-maps location fusedlocationproviderapi
I want to find current location on connected. I am currently using FusedLocationApi which is deprecated. i have to use requestLocationUpdate method but i am getting some syntax error while using FusedLocationProviderClient. i also have to use removeLocationupdate in onPause and onDestroy.
This is my current code which is using FusedLocationProviderClient-
@Override
public void onConnected(@Nullable Bundle bundle) {
mLocationRequest = LocationRequest.create();
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setInterval(1000);
mLocationRequest.setFastestInterval(1000);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String permissions,
// int grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleClientApi, mLocationRequest, this);
if (mCurrentLocMarker == null) {
Location loc = LocationServices.FusedLocationApi.getLastLocation(mGoogleClientApi);
mLastLocation = loc;
if (loc != null) {
LatLng latLng = new LatLng(loc.getLatitude(), loc.getLongitude());
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
markerOptions.title("Current Location");
markerOptions.flat(true);
int height = 150;
int width = 150;
BitmapDrawable bitmapDrawable = (BitmapDrawable)getResources().getDrawable(R.drawable.icon_navigation);
Bitmap bitmap = bitmapDrawable.getBitmap();
Bitmap marker = Bitmap.createScaledBitmap(bitmap, width, height, false);
markerOptions.icon(BitmapDescriptorFactory.fromBitmap(marker));
markerOptions.anchor(0.5f, 0.5f);
mCurrentLocMarker = mMap.addMarker(markerOptions);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(latLng)
.zoom(17)
.build();
mMap.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
}
}
@Override
protected void onPause() {
super.onPause();
mapView.onPause();
String trackid = SharedPreferenceManager.getmInstance(this).getTrackId();
if (mGoogleClientApi != null) {
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleClientApi,this);
}
if (!trackid.equals("NO DATA")) {
startService(new Intent(this, LocationService.class));
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
String trackid = SharedPreferenceManager.getmInstance(this).getTrackId();
if (mGoogleClientApi != null) {
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleClientApi, this);
}
if (!trackid.equals("NO DATA")) {
startService(new Intent(this, LocationService.class));
}
}
This is i tried but cannot implement its requestLocationUpdate and removeLocationUpdate:
FusedLocationProviderClient fusedLocationProviderClient; //Global variable
fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this); //initiate in onCreate
android google-maps location fusedlocationproviderapi
android google-maps location fusedlocationproviderapi
asked Nov 13 '18 at 5:46
Ajay GohelAjay Gohel
817
817
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Your start is like you need.
FusedLocationProviderClient fusedLocationProviderClient; //Global variable
fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this); //initiate in onCreate
For getting location from another app as googlemaps you can use mFusedLocationClient.getLastLocation()
it have listeners, addOnSuccessListener
gives to you location, addOnCompleteListener
and task.getResult() == null
means that you need to do your own request like mFusedLocationClient.requestLocationUpdates(getLocationRequest(), mLocationCallback, null);
and you need to remove your listener for example in onPause like mFusedLocationClient.removeLocationUpdates(mLocationCallback)
you can look this examples https://github.com/googlesamples/android-play-location
and https://developer.android.com/training/location/receive-location-updates?hl=es
Yes, i got it this things but i am little bit confuse about mLocationCallback
– Ajay Gohel
Nov 13 '18 at 9:09
Its object LocationCallback fromcom.google.android.gms.location.LocationCallback;
and you need to make it likenew LocationCallback()
and it gives you to override methodonLocationResult
with locationResult. If yourlocationResult == null
the location service is turned off, and you need to resolve it. In other case you need for by locationResult.getLocations() and you will get location.getLatitude() and location.getLongitude()
– Vadim Eksler
Nov 13 '18 at 9:23
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53274574%2fhow-can-i-replace-fusedlocationapi-with-fusedlocationproviderclient%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Your start is like you need.
FusedLocationProviderClient fusedLocationProviderClient; //Global variable
fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this); //initiate in onCreate
For getting location from another app as googlemaps you can use mFusedLocationClient.getLastLocation()
it have listeners, addOnSuccessListener
gives to you location, addOnCompleteListener
and task.getResult() == null
means that you need to do your own request like mFusedLocationClient.requestLocationUpdates(getLocationRequest(), mLocationCallback, null);
and you need to remove your listener for example in onPause like mFusedLocationClient.removeLocationUpdates(mLocationCallback)
you can look this examples https://github.com/googlesamples/android-play-location
and https://developer.android.com/training/location/receive-location-updates?hl=es
Yes, i got it this things but i am little bit confuse about mLocationCallback
– Ajay Gohel
Nov 13 '18 at 9:09
Its object LocationCallback fromcom.google.android.gms.location.LocationCallback;
and you need to make it likenew LocationCallback()
and it gives you to override methodonLocationResult
with locationResult. If yourlocationResult == null
the location service is turned off, and you need to resolve it. In other case you need for by locationResult.getLocations() and you will get location.getLatitude() and location.getLongitude()
– Vadim Eksler
Nov 13 '18 at 9:23
add a comment |
Your start is like you need.
FusedLocationProviderClient fusedLocationProviderClient; //Global variable
fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this); //initiate in onCreate
For getting location from another app as googlemaps you can use mFusedLocationClient.getLastLocation()
it have listeners, addOnSuccessListener
gives to you location, addOnCompleteListener
and task.getResult() == null
means that you need to do your own request like mFusedLocationClient.requestLocationUpdates(getLocationRequest(), mLocationCallback, null);
and you need to remove your listener for example in onPause like mFusedLocationClient.removeLocationUpdates(mLocationCallback)
you can look this examples https://github.com/googlesamples/android-play-location
and https://developer.android.com/training/location/receive-location-updates?hl=es
Yes, i got it this things but i am little bit confuse about mLocationCallback
– Ajay Gohel
Nov 13 '18 at 9:09
Its object LocationCallback fromcom.google.android.gms.location.LocationCallback;
and you need to make it likenew LocationCallback()
and it gives you to override methodonLocationResult
with locationResult. If yourlocationResult == null
the location service is turned off, and you need to resolve it. In other case you need for by locationResult.getLocations() and you will get location.getLatitude() and location.getLongitude()
– Vadim Eksler
Nov 13 '18 at 9:23
add a comment |
Your start is like you need.
FusedLocationProviderClient fusedLocationProviderClient; //Global variable
fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this); //initiate in onCreate
For getting location from another app as googlemaps you can use mFusedLocationClient.getLastLocation()
it have listeners, addOnSuccessListener
gives to you location, addOnCompleteListener
and task.getResult() == null
means that you need to do your own request like mFusedLocationClient.requestLocationUpdates(getLocationRequest(), mLocationCallback, null);
and you need to remove your listener for example in onPause like mFusedLocationClient.removeLocationUpdates(mLocationCallback)
you can look this examples https://github.com/googlesamples/android-play-location
and https://developer.android.com/training/location/receive-location-updates?hl=es
Your start is like you need.
FusedLocationProviderClient fusedLocationProviderClient; //Global variable
fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this); //initiate in onCreate
For getting location from another app as googlemaps you can use mFusedLocationClient.getLastLocation()
it have listeners, addOnSuccessListener
gives to you location, addOnCompleteListener
and task.getResult() == null
means that you need to do your own request like mFusedLocationClient.requestLocationUpdates(getLocationRequest(), mLocationCallback, null);
and you need to remove your listener for example in onPause like mFusedLocationClient.removeLocationUpdates(mLocationCallback)
you can look this examples https://github.com/googlesamples/android-play-location
and https://developer.android.com/training/location/receive-location-updates?hl=es
answered Nov 13 '18 at 8:23
Vadim EkslerVadim Eksler
405214
405214
Yes, i got it this things but i am little bit confuse about mLocationCallback
– Ajay Gohel
Nov 13 '18 at 9:09
Its object LocationCallback fromcom.google.android.gms.location.LocationCallback;
and you need to make it likenew LocationCallback()
and it gives you to override methodonLocationResult
with locationResult. If yourlocationResult == null
the location service is turned off, and you need to resolve it. In other case you need for by locationResult.getLocations() and you will get location.getLatitude() and location.getLongitude()
– Vadim Eksler
Nov 13 '18 at 9:23
add a comment |
Yes, i got it this things but i am little bit confuse about mLocationCallback
– Ajay Gohel
Nov 13 '18 at 9:09
Its object LocationCallback fromcom.google.android.gms.location.LocationCallback;
and you need to make it likenew LocationCallback()
and it gives you to override methodonLocationResult
with locationResult. If yourlocationResult == null
the location service is turned off, and you need to resolve it. In other case you need for by locationResult.getLocations() and you will get location.getLatitude() and location.getLongitude()
– Vadim Eksler
Nov 13 '18 at 9:23
Yes, i got it this things but i am little bit confuse about mLocationCallback
– Ajay Gohel
Nov 13 '18 at 9:09
Yes, i got it this things but i am little bit confuse about mLocationCallback
– Ajay Gohel
Nov 13 '18 at 9:09
Its object LocationCallback from
com.google.android.gms.location.LocationCallback;
and you need to make it like new LocationCallback()
and it gives you to override method onLocationResult
with locationResult. If your locationResult == null
the location service is turned off, and you need to resolve it. In other case you need for by locationResult.getLocations() and you will get location.getLatitude() and location.getLongitude()– Vadim Eksler
Nov 13 '18 at 9:23
Its object LocationCallback from
com.google.android.gms.location.LocationCallback;
and you need to make it like new LocationCallback()
and it gives you to override method onLocationResult
with locationResult. If your locationResult == null
the location service is turned off, and you need to resolve it. In other case you need for by locationResult.getLocations() and you will get location.getLatitude() and location.getLongitude()– Vadim Eksler
Nov 13 '18 at 9:23
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53274574%2fhow-can-i-replace-fusedlocationapi-with-fusedlocationproviderclient%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown