Como ligar parâmetro duplo com o roteamento do Play 2.0

Estou aprendendo sozinho o Play 2.0 (Java API usado) e gostaria de ter um parâmetro double / float (para coordenadas de localização), algo comohttp://myfooapp.com/events/find?latitude=25.123456&longitude=60.251253.

Eu posso fazer isso obtendo os parâmetros como String e analisando-os no controlador etc, mas posso usar a ligação automática aqui?

Agora, primeiro tentei simplesmente ter um valor duplo:

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

com

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

O que eu recebi foi"Nenhum fichário QueryString encontrado para o tipo Double. Tente implementar um QueryStringBindable implícito para esse tipo."

Eu perdi algo já fornecido ou tenho que fazer um QueryStringBindable personalizado que analisa Double?

Eu encontrei algumas instruções sobre como fazer um fichário de string de consulta de string personalizado com Scala emhttp://julien.richard-foy.fr/blog/2012/04/09/how-to-implement-a-custom-pathbindable-with-play-2/

O que eu tentei:

Eu implementei o DoubleBinder nos encadernadores de pacotes:

<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>

E tentei adicioná-lo ao main do project / Build.scala:

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

mas mesmo resultado: "Nenhum fichário QueryString encontrado para o tipo Double ...."

Eu também mudei a assinatura de roteamento para java.lang.Double mas isso não ajudouEu também alterei o DoubleBinder para implementar play.api.mvc.QueryStringBindable (em vez de play.mvc.QueryStringBindable) ambos com Double & java.lang.Double na assinatura de roteamento, mas ainda não há ajuda

questionAnswers(1)

yourAnswerToTheQuestion