Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance UX for simple 3D navigation in touch devices #10225

Closed
1 of 6 tasks
mahmoudadel54 opened this issue Apr 19, 2024 · 2 comments · Fixed by #10261 or #10350
Closed
1 of 6 tasks

Enhance UX for simple 3D navigation in touch devices #10225

mahmoudadel54 opened this issue Apr 19, 2024 · 2 comments · Fixed by #10261 or #10350
Assignees
Labels
3D All issues related to the 3D rendering in CesiumJs Accepted C299- POLITO -2023-MS_DigitalTwin enhancement
Milestone

Comments

@mahmoudadel54
Copy link
Collaborator

mahmoudadel54 commented Apr 19, 2024

Description

We need to provide further options for the 3D map navigation aimed to limit the user interaction for a more guided 3D experience in contexts where the navigation should not go outside to a particular area and the user should be well focused on a limited extent with limited navigation capabilities. This task mostly involves the 3D Camera settings for which further options should be provided
(if possible) in the 3D map map settings UI (see documentation here).

Image

Possible options we should provide to limit the 3D navigation are the following:

  • Guided 3D navigation: fix camera orientation limits and/or fixed camera orientation (this sandcastle has a "set camera reference frame" example that could be interesting for our purposes)
  • Block tilt operations to prevent the user from going underground
  • Limited zoom level if possible
  • Quick reset of the 3D map view (the camera view) to restore the initial state (this could stay in the map Navigation toolbar)
  • Enable/disable the compass

Considering the above points (any other interesting idea?) we need first of all to investigate on possible options available in the Cesium JS version current used by MS and evaluate the effort for implementing them

What kind of improvement you want to add? (check one with "x", remove the others)

  • Minor changes to existing features
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Other... Please describe:

Other useful information

@mahmoudadel54 mahmoudadel54 self-assigned this Apr 19, 2024
@tdipisa tdipisa modified the milestones: 2024.02.00, 2024.01.01 Apr 22, 2024
@tdipisa tdipisa added the BackportNeeded Commits provided for an issue need to be backported to the milestone's stable branch label Apr 22, 2024
@mahmoudadel54
Copy link
Collaborator Author

mahmoudadel54 commented Apr 22, 2024

As per my initial investigation:

  • Guided 3D navigation: fix camera orientation limits and/or fixed camera orientation
    [is applicable to implement by current map center]

  • Block tilt operations to prevent the user from going underground
    [currently disable tilt will disable rotate by wheel but for applying disable only tilt will need a workaround to implement disabling only the tilt]

  • Limited zoom level if possible [it is applicable]

  • Quick reset of the 3D map view to restore the initial state
    [it is applicable preserve the stored camera map scene]

  • Enable/disable the compass
    [it is applicable, if user disables the compass, the compass will hide --> as vice versa the compass widget will show it]

@tdipisa
Copy link
Member

tdipisa commented Apr 22, 2024

@mahmoudadel54 got it. Thank you.

As per my initial investigation:

As I said in the call let's implement it for now only at plugin config level by exposing the new properties. We will evaluate for a possible UI in a second moment

  • Guided 3D navigation: fix camera orientation limits and/or fixed camera orientation
    [is applicable to implement by current map center]

ok

  • Block tilt operations to prevent the user from going underground
    [currently disable tilt will disable rotate/zoom by wheel but for applying disable only tilt will need a workaround to implement disabling only the tilt]

let's hear from @allyoucanmap but I would like to maintain things simple and in line with the Cesium JS lib for the moment without any workaround since there are not specific need for doing this.

  • Limited zoom level if possible [it is applicable]

ok

  • Quick reset of the 3D map view to restore the initial state
    [it is applicable preserve the stored camera map scene]

ok

  • Enable/disable the compass
    [it is applicable, if user disables the compass, the compass will hide --> as vice versa the compass widget will show it]

I think this can go together with point 2

@tdipisa tdipisa added the 3D All issues related to the 3D rendering in CesiumJs label May 16, 2024
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue May 16, 2024
…evices [resolve review comments]

Description:
- remove unused/unnecessary code based on code reviews
- edit zoom to initial view button to enable zoom to camera view
- edit translations of the label of zoomAll plugin
- rename zoomDistance map options + edit jsDoc
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue May 16, 2024
…evices [resolve review comments]

Description:
- fix FE failure by update a unit test of ZoomToMaxExtentButton
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue May 17, 2024
…evices [resolve review comments]

Description:
- edit translation in en-US
allyoucanmap pushed a commit that referenced this issue May 17, 2024
@ElenaGallo ElenaGallo assigned ElenaGallo and unassigned ElenaGallo May 20, 2024
mahmoudadel54 added a commit to mahmoudadel54/MapStore2 that referenced this issue May 22, 2024
tdipisa pushed a commit that referenced this issue May 22, 2024
@tdipisa tdipisa removed the BackportNeeded Commits provided for an issue need to be backported to the milestone's stable branch label May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment