Swiftpack.co - sunghyun-k/NaverMapSwift as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by sunghyun-k.
sunghyun-k/NaverMapSwift 0.2.0
NaverMap for SwiftUI
โญ๏ธ 4
๐Ÿ•“ 1 year ago
iOS
.package(url: "https://github.com/sunghyun-k/NaverMapSwift.git", from: "0.2.0")

NaverMapSwift

๋„ค์ด๋ฒ„์ง€๋„ iOS SDK๋ฅผ SwiftUI๋กœ ๋ž˜ํ•‘ํ•œ ํŒจํ‚ค์ง€.

์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ

  • ์นด๋ฉ”๋ผ ์ด๋™ (์ด๋‹ˆ์…œ๋ผ์ด์ € -> cameraPosition: Binding<CameraPosition>)

  • Path ํ‘œ์‹œ (์ด๋‹ˆ์…œ๋ผ์ด์ € -> lineCoordinates: [CLLocationCoordinate2D])

  • Path ์Šคํƒ€์ผํ™” (๋ชจ๋””ํŒŒ์ด์–ด -> pathStyle)

  • Marker ํ‘œ์‹œ (์ด๋‹ˆ์…œ๋ผ์ด์ € -> markerItems, markerContent)

  • Map ํƒญ (๋ชจ๋””ํŒŒ์ด์–ด -> onMapTap(perform:))

  • ํšŒ์ „, ํ‹ธํŠธ ์ž ๊ธˆ (๋ชจ๋””ํŒŒ์ด์–ด -> rotateGestureEnabled(:), tiltGestureEnabled(:))

IMG_0031

struct ContentView: View {
    @State var lineCoordinates = [CLLocationCoordinate2D](https://raw.github.com/sunghyun-k/NaverMapSwift/main/)
    @State var locations = [
        AnnotatedItem(name: "๋ณด๋ผ๋งค๊ณต์›์—ญ", coordinate: .init(latitude: 37.4954, longitude: 126.9182)),
        AnnotatedItem(name: "๋ณด๋ผ๋งค์—ญ", coordinate: .init(latitude: 37.4999, longitude: 126.9200))
    ]
    @State var cameraPosition = NMFCameraPosition(
        NMGLatLng(lat: 37.4922, lng: 126.9194),
        zoom: 14.6
    )
    var body: some View {
        NaverMap(
            cameraPosition: $cameraPosition,
            lineCoordinates: lineCoordinates,
            markerItems: locations,
            markerContent: { location in
                NaverMapMarker(position: location.coordinate)
                    .image(.init(systemName: "tram.fill")!)
                    .captionText(location.name)
            }
        )
        .tiltGestureEnabled(false)
        .rotateGestureEnabled(false)
        .onMapTap { coordinate in
            lineCoordinates.append(coordinate)
            locations.append(.init(name: "์ถ”๊ฐ€ํ•ญ๋ชฉ", coordinate: coordinate))
        }
        .pathStyle {
            NaverMapPath()
                .color(.red)
        }
    }
}

struct AnnotatedItem: Identifiable {
    let id = UUID()
    var name: String
    var coordinate: CLLocationCoordinate2D
}

GitHub

link
Stars: 4
Last commit: 1 year ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Dependencies

Release Notes

0.2.0
1 year ago

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics