Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

179
Views
setValue no funciona en la interfaz de usuario de Earth Engine dependiente. Seleccione el widget

Estoy trabajando en una aplicación de Earth Engine donde tengo 2 widgets de tipo ui.Seleccione que sean dependientes entre sí (dependientes bidireccionales). Es decir, cuando hago un cambio en uno de ellos, cambia la lista en el otro y viceversa.

El comportamiento es correcto, salvo que cuando quiero volver a seleccionar la opción que estaba antes del cambio, no funciona. Debido a que la secuencia de comandos del generador de elementos que completan los widgets siempre está seguro de que la selección anterior está en la lista de elementos nuevos (modificados).

Aquí están las dos implementaciones de widgets.

 var select_date_init = ui.Select({ items: Object.keys(dates_init), onChange:function(key) { var selected_end = select_date_end.getValue(); var selected_init_end_date = dates_init[key][1]; var new_list = Object.keys(get_dates_list(selected_init_end_date,'')); select_date_end.items().reset(new_list); //select_date_end.items = new_list if(selected_end !== null){ select_date_end.setValue(selected_end,false) }else{ select_date_end.setValue(null,false) } }, placeholder: 'Seleccionar semestre 1...' }); var select_date_end = ui.Select({ items: Object.keys(dates_end), onChange: function(key) { var selected_init = select_date_init.getValue(); var selected_end_init_date = dates_init[key][0]; var new_list = Object.keys(get_dates_list(system_date_init,selected_end_init_date)); select_date_init.items().reset(new_list); //select_date_init.items = new_list; if(selected_init !== null){ select_date_init.setValue(selected_init,false) }else{ select_date_init.setValue(null,false) } }, placeholder: 'Seleccionar semestre 2...' });

El problema parece estar en la parte setValue() del script. Los elementos de los dos widgets se modifican correctamente, pero siempre muestra el texto predeterminado 'Seleccionar semestre 1...' o 'Seleccionar semestre 2...' después de la acción de cambio.

La acción que necesito es:

Primer paso:
Seleccione de 1 -> esto cambia la lista en 2 (originalmente vacía, por lo que no se necesita preselección)
Segundo paso:
Seleccione de 2 -> esto cambia la lista en 1 (pero mantiene la opción seleccionada en 1)
Si el usuario quiere:
Cambie la selección de 1 (o 2) -> actualice la otra lista -> mantenga las opciones preseleccionadas

Aquí está el enlace al script de trabajo completo https://code.earthengine.google.com/b251b24ffbc37775e4e5eede8dcbd11f

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

La función onChange de su botón #2 está reiniciando su botón #1 cada vez. Solo necesita descomentar las líneas 209-216 de su código, por lo que la función onChange de su variable var select_date_end se ve así:

 var select_date_end = ui.Select({ items: Object.keys(dates_end), onChange: function(key) { var selected_init = select_date_init.getValue(); var selected_end_init_date = dates_init[key][0]; var new_list = Object.keys(get_dates_list(system_date_init,selected_end_init_date)); }, placeholder: 'Seleccionar semestre 2...' });

Ver código: https://code.earthengine.google.com/9e2d4f13e9bfa57e1df3673a6d82684e

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!