Cómo enlazar doble parámetro con enrutamiento Play 2.0

Estoy aprendiendo a mí mismo Play 2.0 (se usa Java API) y me gustaría tener un parámetro doble / flotante (para las coordenadas de ubicación), algo así comohttp://myfooapp.com/events/find?latitude=25.123456&longitude=60.251253.

Puedo hacer esto obteniendo los parámetros como Cadena y analizándolos en el controlador, etc. ¿Pero puedo usar el enlace automático aquí?

Ahora, primero intenté simplemente tener un doble valor:

<code>GET     /events/foo                 controllers.Application.foo(doublevalue: Double)
</code>

con

<code>public static Result foo(Double doublevalue) {
    return ok(index.render("Foo:" + doublevalue));
}
</code>

Lo que obtuve fue"No se ha encontrado el archivador QueryString para el tipo Double. Intente implementar un QueryStringBindable implícito para este tipo".

¿He omitido algo que ya se proporcionó o tengo que crear un QueryStringBindable personalizado que analice el doble?

Encontré algunas instrucciones sobre cómo crear un archivador de cadenas de consulta de cadenas personalizadas con Scala enhttp://julien.richard-foy.fr/blog/2012/04/09/how-to-implement-a-custom-pathbindable-with-play-2/

Lo que intenté:

Implementé DoubleBinder en las carpetas de paquetes:

<code>import java.util.Map;
import play.libs.F.Option;
import play.mvc.QueryStringBindable;

public class DoubleBinder implements QueryStringBindable<Double>{

    @Override
    public Option<Double> bind(String key, Map<String, String[]> data) {
        String[] value = data.get(key);
        if(value == null || value.length == 0) {
            return Option.None();
        } else {
            return Option.Some(Double.parseDouble(value[0]));
        }
    }

    @Override
    public String javascriptUnbind() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public String unbind(String key) {
        // TODO Auto-generated method stub
        return null;
    }
}
</code>

Y trató de agregarlo al proyecto / Build.scala's main:

<code>routesImport += "binders._"
</code>

pero el mismo resultado: "No se ha encontrado el enlazador QueryString para el tipo Double ...."

También cambié la firma de enrutamiento a java.lang.Double pero eso tampoco ayudóTambién cambié el DoubleBinder para implementar play.api.mvc.QueryStringBindable (en lugar de play.mvc.QueryStringBindable) con Double & java.lang.Double en la firma de enrutamiento pero todavía no hay ayuda

Respuestas a la pregunta(1)

Su respuesta a la pregunta