* add new asset for location, add logic for sharing user current location * work on default zoom and auth for location * add attribution button * fix attribution button position, fix isSharingUserLocation * Add NSLocationWhenInUseUsageDescription back * Fix initial animation * change map logo and attribution position * Add annotation just in the setup * add errors and alert for map vies * location unit test * add unit test for location sharing * add changelog * Update ElementX/Sources/Other/MapLibre/MapLibreMapView.swift Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com> * add comments and minor parameters refactor * Update ElementX/Sources/Screens/LocationSharing/StaticLocationScreenCoordinator.swift Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com> * Update ElementX/Sources/Screens/LocationSharing/StaticLocationScreenViewModel.swift Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com> * Sort assets * Cleanup * Cleanup * Fix error localizations * Fix tests --------- Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com> Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>
48 lines
1.3 KiB
Swift
48 lines
1.3 KiB
Swift
//
|
|
// Copyright 2023 New Vector Ltd
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
/*
|
|
Behavior mode of the current user's location, can be hidden, only shown and shown following the user
|
|
*/
|
|
enum ShowUserLocationMode {
|
|
/// this mode will show the user pin in map
|
|
case show
|
|
/// this mode will show the user pin in map and track him, panning the map automatically
|
|
case showAndFollow
|
|
/// this mode will not show the user pin in map
|
|
case hide
|
|
}
|
|
|
|
enum MapTilerStyle {
|
|
case light
|
|
case dark
|
|
}
|
|
|
|
enum MapLibreError: Error {
|
|
case failedLoadingMap
|
|
case failedLocatingUser
|
|
}
|
|
|
|
enum MapTilerAttributionPlacement: String {
|
|
case bottomRight = "bottomright"
|
|
case bottomLeft = "bottomleft"
|
|
case topLeft = "topleft"
|
|
case topRight = "topright"
|
|
case hidden = "false"
|
|
}
|