Skip to content

[Story] Send and view current location location #1682

Closed
@Johennes

Description

@Johennes
  • As a user
  • I want to send and view my current location
  • so that I can chat with others about where them and I are at

Size estimate

M

Dependencies

Acceptance criteria

  • In the sending map view:
    • Unless already granted, permission to access the user's location is requested when the map view opens
    • If the user's location was resolved, the map view is centered on it
    • Error handling when location resolution fails
    • Panning switches into pin drop mode
    • The location button switches back into current location mode
    • m.location->uri contains the coordinates at the center of the map
    • When in current location mode:
      • m.asset->type is set to m.self
      • zoom_level inside m.location is set to 15
      • Value of m.location->description: Element X doesn't have a UX to fill a description. So the value will be always absent/null
      • Value of m.text: the rust sdk populate this filed in the same way of the body (eg. "Location was shared at geo:42.3431550455947,13.3939963489709 as of 2023-07-03 11:15:01 +0000")
  • In expanded map view:
    • When location services are active and permission has been granted, the user's own location is automatically shown
    • Default zoom level & centering (latitude: 49.843, longitude: 9.902056), zoom = 2.7
    • The location button requests and centers on the user's own location
    • TBD: Error handling when location permission is denied and user press the location button
  • Analytics tracking
    • When sending a location
      • Event: Composer
      • Property: isLocation = true
      • Property: locationType = MyLocation
      • Other existing properties on the event are set according to context
      • When sending other events we set isLocation = false and leave locationType empty

Out of scope

Sign-off

Android

  • Design sign-off on completion
  • QA sign-off on completion
  • Product sign-off on completion

iOS

  • Design sign-off on completion
  • QA sign-off on completion
  • Product sign-off on completion
  • Nothing

Subtasks

### Android
- [ ] https://github.com/vector-im/element-x-android/issues/710
- [ ] https://github.com/vector-im/element-x-android/pull/767
- [ ] https://github.com/vector-im/element-x-android/pull/770
- [ ] https://github.com/vector-im/element-x-android/pull/877
- [ ] https://github.com/vector-im/element-x-android/pull/876
- [ ] https://github.com/vector-im/element-x-android/pull/915
- [ ] https://github.com/vector-im/element-x-android/pull/914
- [ ] https://github.com/vector-im/element-x-android/pull/919
- [ ] https://github.com/vector-im/element-x-android/pull/930
- [ ] https://github.com/vector-im/element-x-android/pull/929
- [ ] https://github.com/vector-im/element-x-android/pull/931
- [ ] https://github.com/vector-im/element-x-android/pull/936
### iOS
- [ ] https://github.com/vector-im/element-x-ios/issues/1180
- [ ] https://github.com/vector-im/element-x-ios/pull/1309
### Other

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions