I was able to solve this one myself doing some simple math. I found the solution to this to be to take the most zoomed in value and substract it from the most zoomed out value and then divide by a value to equally distribute the increments into chunks. For example if the zoomed in value is 2000 and zoomed out value is 600000 and the range is 0 to 100 the calculation will be
(600000 - 2000) / 100 = 5980.
You can then take this value and on changecomplete you can determine what the height is based on the slider value. For example if the slider is at 25 you can write a loop that will start at max and decrement until slider value is reached. You can change your scale as needed, I just used 0 to 100.
Code:
var sliderVal = this.getValue();
var increment = 5980;
var val = 600000; // max is starting point
for(i = 0; i < 100; i++) {
// decrease by increment each time
val = val - increment;
// stop once hitting the slider value
if(i == sliderVal) {
// At this point the calculated value will be the level to zoom to
break;
}
}
return val;