diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index db77bb4..d1ad47d 100644 Binary files a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index 17987b7..62b65f0 100644 Binary files a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png index 09d4391..e6be151 100644 Binary files a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index d5f1c8d..a7240b9 100644 Binary files a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 4d6372e..75b4a9e 100644 Binary files a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/assets/images/places/baegot_park.jpeg b/assets/images/places/baegot_park.jpeg deleted file mode 100644 index 01fe818..0000000 Binary files a/assets/images/places/baegot_park.jpeg and /dev/null differ diff --git a/assets/images/places/daebu_island.jpeg b/assets/images/places/daebu_island.jpeg deleted file mode 100644 index 755fc14..0000000 Binary files a/assets/images/places/daebu_island.jpeg and /dev/null differ diff --git a/assets/images/places/gojan_station.png b/assets/images/places/gojan_station.png deleted file mode 100644 index ca9d8e7..0000000 Binary files a/assets/images/places/gojan_station.png and /dev/null differ diff --git a/assets/images/places/greenway.jpeg b/assets/images/places/greenway.jpeg deleted file mode 100644 index 9a55d55..0000000 Binary files a/assets/images/places/greenway.jpeg and /dev/null differ diff --git a/assets/images/places/hwajeong_river.jpeg b/assets/images/places/hwajeong_river.jpeg deleted file mode 100644 index bdf4f06..0000000 Binary files a/assets/images/places/hwajeong_river.jpeg and /dev/null differ diff --git a/assets/images/places/oido_station.jpeg b/assets/images/places/oido_station.jpeg deleted file mode 100644 index be48a7e..0000000 Binary files a/assets/images/places/oido_station.jpeg and /dev/null differ diff --git a/assets/images/places/oido_station.png b/assets/images/places/oido_station.png deleted file mode 100644 index 82eafc1..0000000 Binary files a/assets/images/places/oido_station.png and /dev/null differ diff --git a/assets/images/places/okgu_park.jpeg b/assets/images/places/okgu_park.jpeg deleted file mode 100644 index 725d195..0000000 Binary files a/assets/images/places/okgu_park.jpeg and /dev/null differ diff --git a/assets/images/places/picture_jeongwang_sports_park.jpeg b/assets/images/places/picture_jeongwang_sports_park.jpeg new file mode 100644 index 0000000..f1cd0dc Binary files /dev/null and b/assets/images/places/picture_jeongwang_sports_park.jpeg differ diff --git a/assets/images/places/picture_misaeng's_bridge_2.jpg b/assets/images/places/picture_misaeng's_bridge_2.jpg new file mode 100644 index 0000000..c9ffb6a Binary files /dev/null and b/assets/images/places/picture_misaeng's_bridge_2.jpg differ diff --git a/assets/images/places/picture_wolgot_station.JPG b/assets/images/places/picture_wolgot_station.JPG new file mode 100644 index 0000000..f75ab75 Binary files /dev/null and b/assets/images/places/picture_wolgot_station.JPG differ diff --git a/assets/images/places/wolgot_port.jpeg b/assets/images/places/wolgot_port.jpeg deleted file mode 100644 index c5f6d3e..0000000 Binary files a/assets/images/places/wolgot_port.jpeg and /dev/null differ diff --git a/assets/json/place.json b/assets/json/place.json index 1b53c15..51a14e3 100644 --- a/assets/json/place.json +++ b/assets/json/place.json @@ -12,16 +12,16 @@ "description": "한국관광공사 사진 갤러리, 촬영자 박윤준" }, { - "id": "1199341197", - "title": "갯골생태공원\n벚꽃터널", + "id": "FOhqoDZZ", + "title": "갯골생태공원 벚꽃터널", "image": "assets/images/places/picture_gaetgol_ecological_park.jpg", "marker": "", - "type": "", - "latitude": "37.3889771", - "longitude": "126.7804387", - "jibunAddress": "경기도 시흥시 장곡동 724-10", - "roadAddress": "경기도 시흥시 동서로 287", - "description": "" + "type": "park", + "latitude": "37.390592483462605", + "longitude": "126.78099832254267", + "jibunAddress": "경기 시흥시 장곡동 724-32", + "roadAddress": "", + "description": "한국관광공사 사진 갤러리, 촬영자 박윤준" }, { "id": "1903881322", @@ -74,14 +74,14 @@ { "id": "", "title": "미생의 다리", - "image": "assets/images/places/picture_misaeng's_bridge.jpg", + "image": "assets/images/places/picture_misaeng's_bridge_2.jpg", "marker": "assets/icons/place_park.png", "type": "park", "latitude": "37.399584399999995", "longitude": "126.75299469999999", "jibunAddress": "경기도 시흥시 방산동 서해안로 779-43 미생의 다리", "roadAddress": "", - "description": "경기관광공사에 허락맡기" + "description": "한국관광공사 미생의 다리" }, { "id": "35795149", @@ -180,14 +180,14 @@ { "id": "21805866", "title": "월곶역 자전거 대여소", - "image": "assets/images/places/gojan_station.png", + "image": "assets/images/places/picture_wolgot_station.JPG", "marker": "assets/icons/place_rental.png", "type": "rental", - "latitude": "37.3168245", - "longitude": "126.8234083", - "jibunAddress": "경기도 안산시 단원구 고잔동 453-53", - "roadAddress": "경기도 안산시 단원구 중앙대로 784 고잔역", - "description": "" + "latitude": "37.391705626349", + "longitude": "126.74264340883", + "jibunAddress": "경기도 시흥시 월곶동 992-8", + "roadAddress": "경기도 시흥시 월곶중앙로14번길 56", + "description": "교통평론가 한우진 - 출처 표기 요청" }, { "id": "13491554", @@ -215,13 +215,13 @@ { "id": "18254017", "title": "정왕동 체육공원", - "image": "assets/images/places/tukorea.jpeg", + "image": "assets/images/places/picture_jeongwang_sports_park.jpeg", "marker": "assets/icons/place_park.png", "type": "park", "latitude": "37.3395459", "longitude": "126.7579547", "jibunAddress": "경기도 시흥시 정왕동 2158", "roadAddress": "경기도 시흥시 역전로 50 시흥시 배드민턴장", - "description": "" + "description": "한국관광공사 정왕체육공원" } ] \ No newline at end of file diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json index d36b1fa..ffab254 100644 --- a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,122 +1 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} +{"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"72x72","expected-size":"72","filename":"72.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"76x76","expected-size":"152","filename":"152.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"50x50","expected-size":"100","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"76x76","expected-size":"76","filename":"76.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"50x50","expected-size":"50","filename":"50.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"72x72","expected-size":"144","filename":"144.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"40x40","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"83.5x83.5","expected-size":"167","filename":"167.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"20x20","expected-size":"20","filename":"20.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"idiom":"watch","filename":"172.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"86x86","expected-size":"172","role":"quickLook"},{"idiom":"watch","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"40x40","expected-size":"80","role":"appLauncher"},{"idiom":"watch","filename":"88.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"40mm","scale":"2x","size":"44x44","expected-size":"88","role":"appLauncher"},{"idiom":"watch","filename":"102.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"41mm","scale":"2x","size":"45x45","expected-size":"102","role":"appLauncher"},{"idiom":"watch","filename":"92.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"41mm","scale":"2x","size":"46x46","expected-size":"92","role":"appLauncher"},{"idiom":"watch","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"50x50","expected-size":"100","role":"appLauncher"},{"idiom":"watch","filename":"196.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"98x98","expected-size":"196","role":"quickLook"},{"idiom":"watch","filename":"216.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"108x108","expected-size":"216","role":"quickLook"},{"idiom":"watch","filename":"48.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"24x24","expected-size":"48","role":"notificationCenter"},{"idiom":"watch","filename":"55.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"27.5x27.5","expected-size":"55","role":"notificationCenter"},{"idiom":"watch","filename":"66.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"45mm","scale":"2x","size":"33x33","expected-size":"66","role":"notificationCenter"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"3x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"2x"},{"size":"1024x1024","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch-marketing","scale":"1x"},{"size":"128x128","expected-size":"128","filename":"128.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"256x256","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"128x128","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"256x256","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"512x512","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"16","filename":"16.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"64","filename":"64.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"512x512","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"}]} \ No newline at end of file diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada4..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png deleted file mode 100644 index 28c6bf0..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 2ccbfd9..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index f091b6b..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cde121..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index d0ef06e..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index dcdc230..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png deleted file mode 100644 index 2ccbfd9..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index c8f9ed8..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index a6d6b86..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index a6d6b86..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 75b2d16..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index c4df70d..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png deleted file mode 100644 index 6a84f41..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index d0e1f58..0000000 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/100.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/100.png new file mode 100644 index 0000000..c123d93 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/100.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/102.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/102.png new file mode 100644 index 0000000..3ef8465 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/102.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/1024.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/1024.png new file mode 100644 index 0000000..5e0b355 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/1024.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/114.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/114.png new file mode 100644 index 0000000..65be5a1 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/114.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/120.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/120.png new file mode 100644 index 0000000..bcbd524 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/120.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/128.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/128.png new file mode 100644 index 0000000..916c37d Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/128.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/144.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/144.png new file mode 100644 index 0000000..a7240b9 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/144.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/152.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/152.png new file mode 100644 index 0000000..de5b008 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/152.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/16.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/16.png new file mode 100644 index 0000000..0ff6809 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/16.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/167.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/167.png new file mode 100644 index 0000000..09d48e6 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/167.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/172.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/172.png new file mode 100644 index 0000000..86974f3 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/172.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/180.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/180.png new file mode 100644 index 0000000..0249886 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/180.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/196.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/196.png new file mode 100644 index 0000000..85193d0 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/196.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/20.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/20.png new file mode 100644 index 0000000..d480939 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/20.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/216.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/216.png new file mode 100644 index 0000000..274b310 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/216.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/256.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/256.png new file mode 100644 index 0000000..587e9ed Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/256.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/29.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/29.png new file mode 100644 index 0000000..7bc7327 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/29.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/32.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/32.png new file mode 100644 index 0000000..c8f3d53 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/32.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/40.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/40.png new file mode 100644 index 0000000..2f52332 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/40.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/48.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/48.png new file mode 100644 index 0000000..62b65f0 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/48.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/50.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/50.png new file mode 100644 index 0000000..8f2c0ce Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/50.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/512.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/512.png new file mode 100644 index 0000000..6add1f5 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/512.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/55.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/55.png new file mode 100644 index 0000000..65a4ac5 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/55.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/57.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/57.png new file mode 100644 index 0000000..b47aae4 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/57.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/58.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/58.png new file mode 100644 index 0000000..fb3134d Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/58.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/60.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/60.png new file mode 100644 index 0000000..63212b5 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/60.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/64.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/64.png new file mode 100644 index 0000000..6b2036d Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/64.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/66.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/66.png new file mode 100644 index 0000000..da91d49 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/66.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/72.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/72.png new file mode 100644 index 0000000..d1ad47d Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/72.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/76.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/76.png new file mode 100644 index 0000000..e79f9c5 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/76.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/80.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/80.png new file mode 100644 index 0000000..c016a45 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/80.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/87.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/87.png new file mode 100644 index 0000000..8d26e28 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/87.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/88.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/88.png new file mode 100644 index 0000000..26ff864 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/88.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/92.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/92.png new file mode 100644 index 0000000..2befe25 Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/_/92.png differ diff --git a/lib/src/models/place.dart b/lib/src/models/place.dart index e6e23b4..1ea557f 100644 --- a/lib/src/models/place.dart +++ b/lib/src/models/place.dart @@ -84,13 +84,6 @@ class NaverPlaceData { address!.add(Address.fromJson(v)); }); } - // if (json['all'] != null) { - // all = []; - // json['all'].forEach((v) { - // all!.add(All.fromJson(v)); - // }); - // developer.log("address 2 called"); - // } } Map toJson() { diff --git a/lib/src/pages/day_record_page.dart b/lib/src/pages/day_record_page.dart index ad618bd..a27df2b 100644 --- a/lib/src/pages/day_record_page.dart +++ b/lib/src/pages/day_record_page.dart @@ -27,6 +27,7 @@ class _DayRecordPageState extends State { Widget build(BuildContext context) { _recordProvider = Provider.of(context); num speed = 0; + late List? image = _record.images; const textStyle = TextStyle( fontSize: 18.5, @@ -47,7 +48,7 @@ class _DayRecordPageState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Stack(alignment: Alignment.bottomCenter, children: [ - if(_record.images != null && _record.images!.length > 1)...[ + if(image != null && image.length > 1)...[ CarouselSlider.builder( options: CarouselOptions( initialPage: 0, @@ -57,16 +58,16 @@ class _DayRecordPageState extends State { activeIndex = index; }), ), - itemCount: _record.images!.length, + itemCount: image.length, itemBuilder: (context, index, realIndex) { final path = _record.images![index]; return buildImage(path, index); }, - )] else if(_record.images != null && _record.images!.length == 1)...[ + )] else if(image != null && image.length == 1)...[ SizedBox( width: double.infinity, height: 240, - child: Image.network(_record.images![0], fit: BoxFit.cover)) + child: Image.network(image[0], fit: BoxFit.cover)) ] else...[ SizedBox( width: double.infinity, @@ -117,8 +118,15 @@ class _DayRecordPageState extends State { style: recordStyle), Text(timestampToText(_record.timestamp), style: recordStyle), - Text("${_record.distance / _record.timestamp} km/h", - style: recordStyle), + if(_record.timestamp != 0)...[ + Text( + "${(_record.distance / _record.timestamp).toStringAsFixed(1)} km/h", + style: recordStyle)] + else...[ + const Text( + "0.0 km/h", + style: recordStyle) + ], Text("${_record.distance / 1000} km", style: recordStyle), Text( diff --git a/lib/src/pages/home_page.dart b/lib/src/pages/home_page.dart index b976eb8..95d4d11 100644 --- a/lib/src/pages/home_page.dart +++ b/lib/src/pages/home_page.dart @@ -1,5 +1,3 @@ -import 'dart:developer' as developer; - import 'package:flutter/material.dart'; import 'package:line_chart/charts/line-chart.widget.dart'; import 'package:line_chart/model/line-chart.model.dart'; @@ -548,12 +546,6 @@ class _HomePageState extends State fontFamily: 'Pretendard', fontWeight: FontWeight.w700, color: Color.fromRGBO(51, 51, 51, 1))), - // Text('km', - // style: TextStyle( - // fontSize: 12, - // fontFamily: 'Pretendard', - // fontWeight: FontWeight.w300, - // color: Color.fromRGBO(51, 51, 51, 1))), ], ), Container( @@ -586,7 +578,7 @@ class _HomePageState extends State color: Color.fromRGBO(51, 51, 51, 1))), ), Container( - padding: EdgeInsets.only(bottom: 10), + padding: const EdgeInsets.only(bottom: 10), child: const VerticalDivider( width: 1, color: Color.fromRGBO(234, 234, 234, 1), @@ -643,12 +635,8 @@ class _HomePageState extends State color: Colors.deepOrange, ), insideCirclePaint: insideCirclePaint, - onValuePointer: (LineChartModelCallback value) { - print('${value.chart} ${value.percentage}'); - }, - onDropPointer: () { - print('onDropPointer'); - }, + onValuePointer: (LineChartModelCallback value) {}, + onDropPointer: () {}, ); } @@ -868,57 +856,10 @@ class _HomePageState extends State ))); } - // Widget? floatingButtons() { - // return SpeedDial( - // animatedIcon: AnimatedIcons.menu_close, - // visible: true, - // curve: Curves.bounceIn, - // backgroundColor: const Color.fromARGB(0xFF, 0xFB, 0x95, 0x32), - // children: [ - // SpeedDialChild( - // child: const Icon(Icons.settings_sharp, color: Colors.white), - // label: "설정", - // labelStyle: const TextStyle( - // fontWeight: FontWeight.w500, - // color: Colors.white, - // fontSize: 13.0), - // backgroundColor: const Color.fromARGB(0xFF, 0xFB, 0x95, 0x32), - // labelBackgroundColor: const Color.fromARGB(0xFF, 0xFB, 0x95, 0x32), - // onTap: () { - // Navigator.of(context).push(MaterialPageRoute( - // builder: (context) => ChangeNotifierProvider( - // create: (context) => SettingProvider(), - // child: const SettingPage(), - // ))); - // }), - // SpeedDialChild( - // child: const Icon( - // Icons.add_chart_rounded, - // color: Colors.white, - // ), - // label: "내 기록", - // backgroundColor: const Color.fromARGB(0xFF, 0xFB, 0x95, 0x32), - // labelBackgroundColor: const Color.fromARGB(0xFF, 0xFB, 0x95, 0x32), - // labelStyle: const TextStyle( - // fontWeight: FontWeight.w500, color: Colors.white, fontSize: 13.0), - // onTap: () { - // Navigator.of(context).push(MaterialPageRoute( - // builder: (context) => ChangeNotifierProvider( - // create: (context) => RecordListProvider(), - // child: const RecordListPage(), - // ))); - // }, - // ) - // ], - // ); - // } - int _getMaxDistance(List records) { double maxDistance = 0; int recoredCount = 0; for (var element in records) { - developer.log('반복 횟수${recoredCount++}'); - developer.log(element.distance.toString()); if (element.distance > maxDistance) { maxDistance = element.distance; } diff --git a/lib/src/pages/map_search_page.dart b/lib/src/pages/map_search_page.dart index 6fae6ad..2e19148 100644 --- a/lib/src/pages/map_search_page.dart +++ b/lib/src/pages/map_search_page.dart @@ -1,5 +1,4 @@ import 'dart:async'; -import 'dart:developer' as developer; import 'package:flutter/material.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; @@ -265,8 +264,6 @@ class MapSampleState extends State { mapSearchProvider.setEndPoint(list[index]); mapSearchProvider.clearEndPointSearchResult(); } - developer.log('출발지: ${mapSearchProvider.startPoint}'); - developer.log('도착지: ${mapSearchProvider.destination}'); if (mapSearchProvider.startPoint != null && mapSearchProvider.destination != null) { diff --git a/lib/src/pages/recommended_route_page.dart b/lib/src/pages/recommended_route_page.dart index 08ca293..aff6aa0 100644 --- a/lib/src/pages/recommended_route_page.dart +++ b/lib/src/pages/recommended_route_page.dart @@ -165,61 +165,27 @@ class RecommendedRoutePageState extends State { semanticContainer: true, clipBehavior: Clip.antiAliasWithSaveLayer, shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(13.0), + borderRadius: BorderRadius.circular(10.0), ), child: InkWell( - onTap: () { - routeDialog(route); - }, - child: Stack( - fit: StackFit.expand, - children: [ - SizedBox( - child: InkWell( - onTap: () { - routeDialog(route); - }, - child: Stack(children: [ - Container( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height, - decoration: const BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(13)), - ), - child: ClipRRect( - borderRadius: BorderRadius.circular(13.0), - child: Image.asset( - route.image!, - width: MediaQuery.of(context).size.width, - fit: BoxFit.fill, - ), - ), - ), - Container( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height, - decoration: const BoxDecoration( - borderRadius: - BorderRadius.all(Radius.circular(13)), - color: Color.fromARGB(46, 0, 0, 0))) - ]))), + onTap: () { + routeDialog(route); + }, + child: Stack(fit: StackFit.expand, children: [ + Image.asset( + route.image!, + fit: BoxFit.fill, + ), Container( - height: 130, - padding: const EdgeInsets.all(13), - alignment: Alignment.bottomRight, - child: Text( - "${route.title}", - style: const TextStyle( - fontSize: 16, - fontFamily: 'Pretendard', - fontWeight: FontWeight.w600, - color: Colors.white), - textAlign: TextAlign.end, - ), - ) - ], - ), - )); + alignment: Alignment.bottomRight, + padding: const EdgeInsets.all(7), + child: Text("${route.title!} ", + style: const TextStyle( + fontFamily: 'Pretendard', + fontSize: 16, + color: Colors.white, + fontWeight: FontWeight.w600))), + ]))); Widget recommendTitleWidget() => Container( margin: const EdgeInsets.fromLTRB(0, 32, 0, 24), diff --git a/lib/src/pages/record_page.dart b/lib/src/pages/record_page.dart index 0325983..c311a5a 100644 --- a/lib/src/pages/record_page.dart +++ b/lib/src/pages/record_page.dart @@ -1,4 +1,3 @@ -import 'dart:developer' as developer; import 'dart:io'; import 'package:app_settings/app_settings.dart'; @@ -35,13 +34,11 @@ class _RecordState extends State { @override Widget build(BuildContext context) { - developer.log("hi"); num speed = 0; _recordProvider = Provider.of(context); _imageStatus = _recordProvider.imageStatus; - developer.log(_imageStatus.name); switch (_recordProvider.recordState) { case RecordState.loading: @@ -136,9 +133,15 @@ class _RecordState extends State { style: textStyle), Text(timestampToText(_record.timestamp), style: textStyle), + if(_record.timestamp != 0)...[ Text( - "${_record.distance / _record.timestamp} km/h", - style: textStyle), + "${(_record.distance / _record.timestamp).toStringAsFixed(1)} km/h", + style: textStyle)] + else...[ + Text( + "0.0 km/h", + style: textStyle) + ], Text("${_record.distance / 1000} km", style: textStyle), Text( diff --git a/lib/src/pages/sights_page.dart b/lib/src/pages/sights_page.dart index 49c0e36..e844a9a 100644 --- a/lib/src/pages/sights_page.dart +++ b/lib/src/pages/sights_page.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter/src/painting/rounded_rectangle_border.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; +import 'package:logging/logging.dart'; import 'package:provider/provider.dart'; import 'package:ridingpartner_flutter/src/provider/sights_provider.dart'; import 'package:ridingpartner_flutter/src/utils/custom_marker.dart'; @@ -11,7 +12,6 @@ import '../models/place.dart'; import '../provider/navigation_provider.dart'; import '../provider/riding_provider.dart'; import 'navigation_page.dart'; -import 'package:logging/logging.dart'; class SightsPage extends StatefulWidget { @override @@ -35,7 +35,6 @@ class _SightsPageState extends State { final state = _sightsProvider.state; var logger = Logger('Logger'); - void routeDialog(Place place) => showModalBottomSheet( context: context, //barrierDismissible - Dialog를 제외한 다른 화면 터치 x @@ -66,25 +65,26 @@ class _SightsPageState extends State { const SizedBox( height: 8, ), - if (place.roadAddress == null || place.roadAddress == "") ...[ - Text( - place.jibunAddress!, - style: const TextStyle( - fontFamily: 'Pretendard', - fontSize: 12, - fontWeight: FontWeight.w400, - color: Color.fromRGBO(51, 51, 51, 0.5)), - ) - ] else ...[ - Text( - place.roadAddress!, - style: const TextStyle( - fontFamily: 'Pretendard', - fontSize: 12, - fontWeight: FontWeight.w400, - color: Color.fromRGBO(51, 51, 51, 0.5)), - ) - ], + if (place.roadAddress == null || + place.roadAddress == "") ...[ + Text( + place.jibunAddress!, + style: const TextStyle( + fontFamily: 'Pretendard', + fontSize: 12, + fontWeight: FontWeight.w400, + color: Color.fromRGBO(51, 51, 51, 0.5)), + ) + ] else ...[ + Text( + place.roadAddress!, + style: const TextStyle( + fontFamily: 'Pretendard', + fontSize: 12, + fontWeight: FontWeight.w400, + color: Color.fromRGBO(51, 51, 51, 0.5)), + ) + ], const SizedBox( height: 8, ), @@ -173,22 +173,3 @@ class _SightsPageState extends State { )); } } - - - // List location = [ - // MarkerInfo("정왕 자전거 대여소", LatLng(37.343991285297, 126.74729588817), - // "월 ~ 금\n(07시 ~ 21시)\n토요일, 일요일, 공휴일 휴무\n☎ 031-433-0101"), - // MarkerInfo("월곧 자전거 대여소", LatLng(37.3917953, 126.742692), - // "수 ~ 일\n(09시 ~ 20시)\n월요일, 화요일, 공휴일 휴무\n☎ 031-433-0101") - // ]; - - // @override - // void initState(){ - // super.initState(); - // _markers.add(Marker( - // markerId: MarkerId("1"), - // draggable: true, - // onTap: () => print("Marker!"), - // position: const LatLng(37.343991285297, 126.74729588817) - // )); - // } diff --git a/lib/src/provider/home_record_provider.dart b/lib/src/provider/home_record_provider.dart index 605988f..b77eee7 100644 --- a/lib/src/provider/home_record_provider.dart +++ b/lib/src/provider/home_record_provider.dart @@ -1,4 +1,3 @@ -import 'dart:developer' as developer; import 'dart:math'; import 'package:firebase_auth/firebase_auth.dart'; @@ -56,9 +55,7 @@ class HomeRecordProvider extends ChangeNotifier { await rootBundle.loadString('assets/json/place.json'); List places = PlaceList.fromJson(placeFromJsonFile).places ?? []; - for (var element in places) { - developer.log(element.image!); - } + for (var element in places) {} // List places = await _fireStoreService.getPlaces(); int num1 = _random.nextInt(places.length); diff --git a/lib/src/provider/map_search_provider.dart b/lib/src/provider/map_search_provider.dart index cb6a66d..1727985 100644 --- a/lib/src/provider/map_search_provider.dart +++ b/lib/src/provider/map_search_provider.dart @@ -1,5 +1,4 @@ import 'dart:convert'; -import 'dart:developer' as developer; import 'package:flutter/material.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; @@ -138,7 +137,6 @@ class MapSearchProvider extends ChangeNotifier { } setInitalLocation() async { - developer.log('initial location'); final address = await getMyLocationAddress(); setMyLocation(address); } diff --git a/lib/src/provider/navigation_provider.dart b/lib/src/provider/navigation_provider.dart index afa6e19..072acc3 100644 --- a/lib/src/provider/navigation_provider.dart +++ b/lib/src/provider/navigation_provider.dart @@ -1,9 +1,7 @@ import 'dart:async'; -import 'dart:ui' as ui; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; import 'package:flutter_polyline_points/flutter_polyline_points.dart'; import 'package:geolocator/geolocator.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart' as google_map; @@ -98,7 +96,6 @@ class NavigationProvider with ChangeNotifier { myLocation.getMyCurrentLocation(); _position = myLocation.position; } catch (e) { - print(e.toString()); myLocation.checkPermission(); _position = null; _searchRouteState = SearchRouteState.locationFail; @@ -168,19 +165,6 @@ class NavigationProvider with ChangeNotifier { notifyListeners(); } - // Future getMyLocationAddress(Position position) async { - // final url = - // "https://dapi.kakao.com/v2/local/geo/coord2address.json?x=$lon&y=$lat&input_coord=WGS84"; - // Map requestHeaders = {'Authorization': 'KakaoAK $kakaoKey'}; - // final response = await http.get(Uri.parse(url), headers: requestHeaders); - // final address = json.decode(response.body)['documents'][0]['address'] - // ['address_name'] ?? - // ''; - // developer.log(address); - - // return address; - // } - Future startNavigation() async { setState(RidingState.riding); _positionStream.controller.stream.listen((pos) { diff --git a/lib/src/provider/riding_provider.dart b/lib/src/provider/riding_provider.dart index 0389f2d..fd51152 100644 --- a/lib/src/provider/riding_provider.dart +++ b/lib/src/provider/riding_provider.dart @@ -110,7 +110,6 @@ class RidingProvider with ChangeNotifier { } if (isDisposed) return; notifyListeners(); - print('noti'); _time = _stopwatch.elapsed; if (_time.inSeconds / 60 == 0) { _saveRecord(); diff --git a/lib/src/provider/riding_result_provider.dart b/lib/src/provider/riding_result_provider.dart index 0683873..c42b2cb 100644 --- a/lib/src/provider/riding_result_provider.dart +++ b/lib/src/provider/riding_result_provider.dart @@ -2,12 +2,11 @@ import 'dart:io'; import 'package:flutter/cupertino.dart'; import 'package:fluttertoast/fluttertoast.dart'; -import 'dart:developer' as developer; import 'package:image_picker/image_picker.dart'; +import 'package:permission_handler/permission_handler.dart'; import 'package:ridingpartner_flutter/src/models/record.dart'; import 'package:ridingpartner_flutter/src/provider/home_record_provider.dart'; import 'package:ridingpartner_flutter/src/service/firebase_database_service.dart'; -import 'package:permission_handler/permission_handler.dart'; import 'package:ridingpartner_flutter/src/service/shared_preference.dart'; import '../models/result.dart'; @@ -75,7 +74,6 @@ class RidingResultProvider with ChangeNotifier { if (imageXFiles.isNotEmpty) { _images = imageXFiles; _imageStatus = ImageStatus.imageSuccess; - developer.log(_images.toString()); } else { _imageStatus = ImageStatus.init; } @@ -93,9 +91,7 @@ class RidingResultProvider with ChangeNotifier { Fluttertoast.showToast(msg: "사진은 최대 4장까지 선택 가능합니다."); } notifyListeners(); - } catch (e) { - developer.log(e.toString()); - } + } catch (e) {} } Future confirmPermissionGranted() async { diff --git a/lib/src/service/firebase_database_service.dart b/lib/src/service/firebase_database_service.dart index 6ac7ebb..65d7c02 100644 --- a/lib/src/service/firebase_database_service.dart +++ b/lib/src/service/firebase_database_service.dart @@ -1,5 +1,4 @@ import 'dart:convert'; -import 'dart:developer' as developer; import 'package:firebase_auth/firebase_auth.dart'; import 'package:firebase_database/firebase_database.dart'; @@ -24,10 +23,8 @@ class FirebaseDatabaseService { "kcal": record.kcal, "images": record.images != null ? json.encode(record.images) : null }) - .then((_) => {developer.log("firebase 기록 저장 성공 $record")}) - .catchError((onError) { - print(onError.toString()); - }); + .then((_) => {}) + .catchError((onError) {}); PreferenceUtils.saveRecordPref(record); } @@ -35,10 +32,8 @@ class FirebaseDatabaseService { DatabaseReference ref = _database.ref("$_uId/${record.date}"); await ref .set({"memo": record.memo}) - .then((_) => {print("메모 내용: ${record.memo}")}) - .catchError((onError) { - print(onError.toString()); - }); + .then((_) => {}) + .catchError((onError) {}); PreferenceUtils.saveRecordMemoPref(record); } @@ -71,7 +66,6 @@ class FirebaseDatabaseService { final DataSnapshot snapshot = await ref.get(); if (snapshot.exists) { - print("데이터 있음"); Map map = snapshot.value as Map; // return map.values.map(Record.fromDB).toList(); records = map.values.map((recordEl) { @@ -91,11 +85,9 @@ class FirebaseDatabaseService { // .toList() }; } else { - print("데이터 없음"); return {'state': RecordState.none}; } } catch (e) { - print("catch!"); return {'state': RecordState.fail}; } } diff --git a/lib/src/service/firebase_storage_service.dart b/lib/src/service/firebase_storage_service.dart index 72018c4..c0a0452 100644 --- a/lib/src/service/firebase_storage_service.dart +++ b/lib/src/service/firebase_storage_service.dart @@ -1,4 +1,3 @@ -import 'dart:developer' as developer; import 'dart:io'; import 'package:firebase_storage/firebase_storage.dart'; @@ -16,7 +15,6 @@ class FirebaseStorageService { return downloadUrl; } catch (e) { - developer.log(e.toString()); return "err"; } } diff --git a/lib/src/service/social_login_service.dart b/lib/src/service/social_login_service.dart index 29e7034..6cdaa08 100644 --- a/lib/src/service/social_login_service.dart +++ b/lib/src/service/social_login_service.dart @@ -1,5 +1,3 @@ -import 'dart:developer' as developer; - import 'package:firebase_auth/firebase_auth.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_naver_login/flutter_naver_login.dart' as naver_flutter; @@ -31,7 +29,6 @@ class SocialLoginService { saveUserInfo(user.user!); return user.user!; } catch (error) { - developer.log(error.toString()); Fluttertoast.showToast( msg: "error: 해당 계정의 이메일이 네이버 혹은 구글 로그인으로 이미 등록된 이메일인지 확인해주세요.", toastLength: Toast.LENGTH_LONG); @@ -42,7 +39,6 @@ class SocialLoginService { await kakao_flutter.UserApi.instance.loginWithKakaoAccount(); kakao_flutter.User kakaoUser = await kakao_flutter.UserApi.instance.me(); - developer.log('kakaoUser: $kakaoUser'); UserCredential user = await loginWithUser({ 'platform': 'kakao', 'uId': kakaoUser.id.toString(), @@ -52,7 +48,6 @@ class SocialLoginService { saveUserInfo(user.user!); return user.user; } catch (error) { - developer.log(error.toString()); Fluttertoast.showToast( msg: "error: 해당 계정의 이메일이 네이버 혹은 구글 로그인으로 이미 등록된 이메일인지 확인해주세요.", toastLength: Toast.LENGTH_LONG); @@ -78,7 +73,6 @@ class SocialLoginService { saveUserInfo(user.user!); return user.user; } catch (error) { - developer.log(error.toString()); Fluttertoast.showToast( msg: "error: 해당 계정의 이메일이 카카오톡 혹은 구글 로그인으로 이미 등록된 이메일인지 확인해주세요.", toastLength: Toast.LENGTH_LONG); @@ -94,7 +88,6 @@ class SocialLoginService { credencial = await FirebaseAuth.instance.createUserWithEmailAndPassword( email: user['email'], password: user['uId']); } catch (error) { - developer.log(error.toString()); } finally { credencial = await FirebaseAuth.instance.signInWithEmailAndPassword( email: user['email'], password: user['uId']); @@ -146,7 +139,6 @@ class SocialLoginService { Future saveUserInfo(User user) async { final prefs = await SharedPreferences.getInstance(); - developer.log('save'); prefs.setString('name', user.displayName.toString()); prefs.setString('email', user.email.toString()); prefs.setString('token', user.getIdToken().toString()); @@ -157,27 +149,13 @@ class SocialLoginService { final FirebaseDatabaseService _databaseService = FirebaseDatabaseService(); Future withdrawal() async { - while (true) { - final googleUser = await GoogleSignIn().signIn(); - final GoogleSignInAuthentication googleAuth = - await googleUser!.authentication; - - final OAuthCredential credential = GoogleAuthProvider.credential( - accessToken: googleAuth.accessToken, - idToken: googleAuth.idToken, - ); - - await fAuth.currentUser?.reauthenticateWithCredential(credential); - _databaseService.delRecord(); - try { - await fAuth.currentUser?.delete(); - fAuth.signOut(); - break; - } catch (e) { - print('계정탈퇴에 실패했습니다.'); - } - Future.delayed(const Duration(seconds: 3)); - } + _databaseService.delRecord(); + try { + await fAuth.currentUser?.delete(); + fAuth.signOut(); + } catch (e) {} + Future.delayed(const Duration(seconds: 3)); + return true; } @@ -186,7 +164,6 @@ class SocialLoginService { await fAuth.signOut(); return true; } catch (e) { - print(e.toString()); return false; } } diff --git a/lib/src/service/wether_service.dart b/lib/src/service/wether_service.dart index 357a9c1..2b3ad81 100644 --- a/lib/src/service/wether_service.dart +++ b/lib/src/service/wether_service.dart @@ -1,5 +1,3 @@ -import 'dart:developer' as developer; - import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:ridingpartner_flutter/src/models/result.dart'; import 'package:ridingpartner_flutter/src/network/network_helper.dart'; @@ -11,7 +9,6 @@ class OpenWeatherService { Future getWeather() async { MyLocation myLocation = MyLocation(); - developer.log("myLocation called in network"); try { await myLocation.getMyCurrentLocation().timeout(Duration(seconds: 3)); @@ -22,102 +19,3 @@ class OpenWeatherService { return result; } } - -// //class Network -// class WeatherService { -// final String _apiKey = dotenv.env['apiKey']!; -// final String _path = dotenv.env['path']!; -// final String _endpointUrl = dotenv.env['endPointUrl']!; -// //getWeatherData -// Future getWeatherData() async { -// var weather = Weather(); -// MyLocation myLocation = MyLocation(); -// developer.log("myLocation called in network"); -// try { -// await myLocation.getMyCurrentLocation(); -// } catch (e) { -// developer.log("error : getLocation ${e.toString()}"); -// } -// //get the current time -// final now = DateTime.now(); -// var baseDate = DateFormat('yyyyMMdd').format(now); -// var baseTime = DateFormat('HHmm').format(now); -// baseTime = redefineBaseTime(baseTime); -// if (baseTime.substring(0, 2) == '23') { -// baseDate = DateFormat('yyyyMMdd').format(now.subtract(Duration(days: 1))); -// } -// final gridData = -// ConvGridGps.gpsToGRID(myLocation.latitude!, myLocation.longitude!); -// final Map queryParams = { -// 'serviceKey': _apiKey, -// 'pageNo': 1, -// 'numOfRows': 60, -// 'dataType': 'JSON', -// 'base_date': baseDate, -// 'base_time': baseTime, -// 'nx': gridData['x'], -// 'ny': gridData['y'] -// }.map((key, value) => MapEntry(key, value.toString())); -// final requestUrl = Uri.https(_endpointUrl, _path, queryParams); -// var response = await http.get(requestUrl); -// developer.log(requestUrl.toString()); -// if (response.statusCode == 200) { -// try { -// var jsonResponse = jsonDecode(response.body); -// var weatherData = WeatherData.fromJson(jsonResponse); -// var weatherItems = weatherData.response!.body!.items!.item!; - -// for (var i = 0; i < weatherItems.length; i += 6) { -// var weatherItem = weatherItems[i]; - -// switch (weatherItem.category) { -// case 'PTY': -// weather.rainType ??= -// WeatherInfoConverter.getRainType(weatherItem.fcstValue); -// break; -// case 'SKY': -// weather.skyType ??= -// WeatherInfoConverter.getSkyType(weatherItem.fcstValue); -// break; -// case 'T1H': -// weather.temperature ??= weatherItem.fcstValue; -// break; -// case 'REH': -// weather.humidity ??= weatherItem.fcstValue; -// break; -// } -// } -// developer.log(weather.temperature.toString()); -// return weather; -// } catch (e) { -// developer.log('getWeatherData 오류'); -// developer.log(e.toString()); -// return weather; -// } -// } else { -// return weather; -// } -// } - -// redefineBaseTime(baseTime) { -// String h = baseTime.substring(0, 2); -// String m = baseTime.substring(2, 4); - -// int minute = int.parse(m); -// //기상청 api가 최신 데이터를 못받아오는 일이 잦아 약 1시간전 데이터를 받아오는 것으로 고정 -// if (h == '00') { -// h = '23'; -// } else { -// h = (int.parse(h) - 1).toString(); -// } - -// if (minute < 45) { -// m = '00'; -// } else { -// m = '30'; -// } -// return h + m; -// } -// } - - diff --git a/lib/src/utils/user_location.dart b/lib/src/utils/user_location.dart index fb1fa93..2fa0b3b 100644 --- a/lib/src/utils/user_location.dart +++ b/lib/src/utils/user_location.dart @@ -1,5 +1,3 @@ -import 'dart:developer' as developer; - import 'package:geolocator/geolocator.dart'; class MyLocation { @@ -47,10 +45,7 @@ class MyLocation { try { position = await Geolocator.getCurrentPosition( desiredAccuracy: LocationAccuracy.high); - developer.log( - "latitude : ${position?.latitude} , longitude : ${position?.longitude}"); } catch (e) { - developer.log("error : getMyCurrentLocation ${e.toString()}"); position = await Geolocator.getLastKnownPosition().timeout( Duration(seconds: 3), onTimeout: () => position = const Position( @@ -64,28 +59,4 @@ class MyLocation { speedAccuracy: 0.0)); } } - - // Future _cheakPermission() async { - // bool serviceEnabled; - // LocationPermission permission; - // developer.log("안녕"); - // // Test if location services are enabled. - // serviceEnabled = await Geolocator.isLocationServiceEnabled(); - // if (!serviceEnabled) { - // return Future.error('Location services are disabled.'); - // } - - // permission = await Geolocator.checkPermission(); - // if (permission == LocationPermission.denied) { - // permission = await Geolocator.requestPermission(); - // if (permission == LocationPermission.denied) { - // return Future.error('Location permissions are denied'); - // } - // } - - // if (permission == LocationPermission.deniedForever) { - // return Future.error( - // 'Location permissions are permanently denied, we cannot request permissions.'); - // } - // } } diff --git a/pubspec.yaml b/pubspec.yaml index 9aa3e7b..76d465e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -73,8 +73,10 @@ dependencies: carousel_slider: ^4.2.1 smooth_page_indicator: ^1.0.0+2 logging: ^1.1.1 + shared_preferences_ios: ^2.1.1 dev_dependencies: + flutter_launcher_icons: ^0.11.0 flutter_test: sdk: flutter