Compare commits
1 Commits
2025.08.08
...
delete_pas
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d700510c94 |
@@ -12,12 +12,19 @@ jobs:
|
||||
environment: production
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
# TODO: use shallow (and sparse?) checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# - name: Parallel submodules checkout
|
||||
# shell: bash
|
||||
# run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
|
||||
- name: Parallel submodules checkout
|
||||
shell: bash
|
||||
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
|
||||
|
||||
- name: Checkout screenshots
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ secrets.SCREENSHOTS_REPO }}
|
||||
ssh-key: ${{ secrets.SCREENSHOTS_SSH_KEY }}
|
||||
ref: main
|
||||
path: screenshots
|
||||
|
||||
- name: Restore release keys
|
||||
shell: bash
|
||||
@@ -30,6 +37,6 @@ jobs:
|
||||
|
||||
- name: Upload
|
||||
shell: bash
|
||||
run: ./gradlew publishGoogleReleaseListing
|
||||
run: ./gradlew prepareGoogleReleaseListing publishGoogleReleaseListing
|
||||
working-directory: android
|
||||
timeout-minutes: 5
|
||||
|
||||
@@ -25,7 +25,11 @@ jobs:
|
||||
sudo apt install -y \
|
||||
flatpak
|
||||
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
sudo flatpak install -y org.flatpak.Builder
|
||||
sudo flatpak install -y org.freedesktop.appstream-glib org.flatpak.Builder
|
||||
|
||||
- name: Validate appstream data
|
||||
shell: bash
|
||||
run: flatpak run org.freedesktop.appstream-glib validate --nonet packaging/app.organicmaps.desktop.metainfo.xml
|
||||
|
||||
- name: Lint appstream data with flatpak Builder
|
||||
shell: bash
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
name: dco
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
check:
|
||||
runs-on: codeberg-tiny
|
||||
steps:
|
||||
- uses: https://github.com/KineticCafe/actions-dco@v1
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
LANG: en_US.UTF-8 # Fastlane complains that the terminal is using ASCII.
|
||||
LANGUAGE: en_US.UTF-8
|
||||
LC_ALL: en_US.UTF-8
|
||||
TEST_RESULTS_BUNDLE_NAME: CoMaps-Test-Results
|
||||
TEST_RESULTS_BUNDLE_NAME: OMaps-Test-Results
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -74,8 +74,8 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
xcodebuild test \
|
||||
-workspace xcode/CoMaps.xcworkspace \
|
||||
-scheme CoMaps \
|
||||
-workspace xcode/omim.xcworkspace \
|
||||
-scheme OMaps \
|
||||
-configuration Debug \
|
||||
-sdk iphonesimulator \
|
||||
-destination 'platform=iOS Simulator,name=iPhone 16 Pro Max,OS=latest' \
|
||||
@@ -97,8 +97,8 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
xcodebuild build \
|
||||
-workspace xcode/CoMaps.xcworkspace \
|
||||
-scheme CoMaps \
|
||||
-workspace xcode/omim.xcworkspace \
|
||||
-scheme OMaps \
|
||||
-configuration Release \
|
||||
-destination 'generic/platform=iOS' \
|
||||
-quiet \
|
||||
|
||||
@@ -90,7 +90,7 @@ jobs:
|
||||
# -g1 should slightly reduce build time.
|
||||
run: |
|
||||
cmake . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_CXX_FLAGS=-g1 -DCMAKE_UNITY_BUILD=OFF
|
||||
-DCMAKE_CXX_FLAGS=-g1 -DUNITY_DISABLE=ON
|
||||
|
||||
- name: Compile
|
||||
shell: bash
|
||||
|
||||
12
.github/workflows/android-check.yaml
vendored
@@ -22,9 +22,9 @@ jobs:
|
||||
shell: bash
|
||||
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
|
||||
|
||||
- name: Init boost, generate textures
|
||||
- name: Configure repository
|
||||
shell: bash
|
||||
run: ./configure.sh --skip-map-download
|
||||
run: ./configure.sh
|
||||
|
||||
- name: Lint
|
||||
shell: bash
|
||||
@@ -76,9 +76,13 @@ jobs:
|
||||
shell: bash
|
||||
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
|
||||
|
||||
- name: Init boost, generate textures
|
||||
- name: Configure repository
|
||||
shell: bash
|
||||
run: ./configure.sh --skip-map-download
|
||||
run: ./configure.sh
|
||||
|
||||
- name: Generate symbols
|
||||
shell: bash
|
||||
run: ./tools/unix/generate_symbols.sh
|
||||
|
||||
- name: Configure ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
|
||||
28
.github/workflows/ios-check.yaml
vendored
@@ -15,7 +15,6 @@ jobs:
|
||||
LANGUAGE: en_US.UTF-8
|
||||
LC_ALL: en_US.UTF-8
|
||||
TEST_RESULTS_BUNDLE_NAME: CoMaps-Test-Results
|
||||
SIMULATOR_DEVICE: 'iPhone 16 Pro Max'
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -29,6 +28,8 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
brew install qt \
|
||||
freetype \
|
||||
harfbuzz \
|
||||
optipng
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v4
|
||||
@@ -37,10 +38,20 @@ jobs:
|
||||
shell: bash
|
||||
run: git submodule update --depth 1 --init --recursive --jobs=$(($(sysctl -n hw.logicalcpu) * 20))
|
||||
|
||||
- name: Init boost, download World map, generate textures
|
||||
- name: Configure repository
|
||||
shell: bash
|
||||
run: ./configure.sh
|
||||
|
||||
- name: Download MWM files
|
||||
shell: bash
|
||||
run: |
|
||||
wget https://cdn.comaps.app/maps/latest/World.mwm -P ./data/
|
||||
wget https://cdn.comaps.app/maps/latest/WorldCoasts.mwm -P ./data/
|
||||
|
||||
- name: Generate symbols
|
||||
shell: bash
|
||||
run: ./tools/unix/generate_symbols.sh
|
||||
|
||||
- name: Configure XCode cache
|
||||
uses: irgaly/xcode-cache@v1
|
||||
with:
|
||||
@@ -51,15 +62,12 @@ jobs:
|
||||
if: matrix.buildType == 'Debug'
|
||||
shell: bash
|
||||
run: |
|
||||
# Start sim before the build to make sure it's booted when tests start.
|
||||
xcrun simctl boot "${{ env.SIMULATOR_DEVICE }}" || true
|
||||
xcrun simctl bootstatus "${{ env.SIMULATOR_DEVICE }}" -b
|
||||
xcodebuild test \
|
||||
-workspace xcode/CoMaps.xcworkspace \
|
||||
-scheme CoMaps \
|
||||
-workspace xcode/omim.xcworkspace \
|
||||
-scheme OMaps \
|
||||
-configuration Debug \
|
||||
-sdk iphonesimulator \
|
||||
-destination "platform=iOS Simulator,name=${{ env.SIMULATOR_DEVICE }},OS=latest" \
|
||||
-destination 'platform=iOS Simulator,name=iPhone 16 Pro Max,OS=latest' \
|
||||
-quiet \
|
||||
-resultBundlePath ${{ env.TEST_RESULTS_BUNDLE_NAME }}.xcresult \
|
||||
CODE_SIGNING_REQUIRED=NO \
|
||||
@@ -78,8 +86,8 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
xcodebuild build \
|
||||
-workspace xcode/CoMaps.xcworkspace \
|
||||
-scheme CoMaps \
|
||||
-workspace xcode/omim.xcworkspace \
|
||||
-scheme OMaps \
|
||||
-configuration Release \
|
||||
-destination 'generic/platform=iOS' \
|
||||
-quiet \
|
||||
|
||||
8
.gitignore
vendored
@@ -62,7 +62,7 @@ iphone/*/build/*
|
||||
tools/emacsmode/build
|
||||
**/DerivedData/*
|
||||
**/xcshareddata/*
|
||||
!iphone/Maps/Maps.xcodeproj/xcshareddata/xcschemes/CoMaps.xcscheme
|
||||
!iphone/Maps/Maps.xcodeproj/xcshareddata/xcschemes/OMaps.xcscheme
|
||||
**/xcuserdata
|
||||
**/xcschemes
|
||||
iphone/**/*.moved-aside
|
||||
@@ -187,3 +187,9 @@ tools/unix/maps/settings.sh
|
||||
# VS Code
|
||||
.vscode
|
||||
.cache
|
||||
|
||||
# AppStore metadata
|
||||
screenshots/
|
||||
android/src/google/play/listings/
|
||||
keywords/
|
||||
iphone/metadata/**/keywords.txt
|
||||
|
||||
8
.gitmodules
vendored
@@ -1,12 +1,12 @@
|
||||
[submodule "tools/osmctools"]
|
||||
path = tools/osmctools
|
||||
url = https://github.com/organicmaps/osmctools.git
|
||||
url = https://git.omaps.dev/organicmaps/osmctools.git
|
||||
[submodule "tools/kothic"]
|
||||
path = tools/kothic
|
||||
url = https://codeberg.org/comaps/kothic.git
|
||||
url = https://git.omaps.dev/organicmaps/kothic.git
|
||||
[submodule "3party/protobuf/protobuf"]
|
||||
path = 3party/protobuf/protobuf
|
||||
url = https://codeberg.org/comaps/protobuf.git
|
||||
url = https://git.omaps.dev/organicmaps/protobuf.git
|
||||
[submodule "3party/Vulkan-Headers"]
|
||||
path = 3party/Vulkan-Headers
|
||||
url = https://github.com/KhronosGroup/Vulkan-Headers.git
|
||||
@@ -17,7 +17,7 @@
|
||||
ignore = dirty
|
||||
[submodule "3party/just_gtfs"]
|
||||
path = 3party/just_gtfs
|
||||
url = https://github.com/organicmaps/just_gtfs.git
|
||||
url = https://git.omaps.dev/organicmaps/just_gtfs.git
|
||||
branch = for-usage-as-submodule
|
||||
[submodule "3party/expat"]
|
||||
path = 3party/expat
|
||||
|
||||
@@ -31,10 +31,9 @@ if (NOT WITH_SYSTEM_PROVIDED_3PARTY)
|
||||
set(JANSSON_WITHOUT_TESTS ON)
|
||||
add_subdirectory(jansson/jansson/)
|
||||
target_include_directories(jansson INTERFACE "${PROJECT_BINARY_DIR}/3party/jansson/jansson/include")
|
||||
add_library(jansson::jansson ALIAS jansson)
|
||||
|
||||
# Add gflags library.
|
||||
set(GFLAGS_BUILD_TESTING OFF)
|
||||
set(GFLAGS_BUILD_PACKAGING OFF)
|
||||
add_subdirectory(gflags)
|
||||
target_compile_options(gflags_nothreads_static PRIVATE $<$<CXX_COMPILER_ID:GNU>:-Wno-subobject-linkage>)
|
||||
|
||||
|
||||
199
CMakeLists.txt
@@ -11,28 +11,11 @@ set(CMAKE_C_VISIBILITY_PRESET hidden)
|
||||
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
||||
set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
|
||||
|
||||
# Disable build-id generation to make builds reproducible.
|
||||
if (NOT APPLE)
|
||||
add_link_options("LINKER:--build-id=none")
|
||||
endif()
|
||||
|
||||
# Fixes warning ld: warning: ignoring duplicate libraries on Mac and Windows.
|
||||
if (POLICY CMP0156)
|
||||
cmake_policy(SET CMP0156 NEW)
|
||||
endif()
|
||||
|
||||
set(OMIM_ROOT ${CMAKE_SOURCE_DIR})
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${OMIM_ROOT}/cmake")
|
||||
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
include(OmimPlatform)
|
||||
include(OmimOptions)
|
||||
include(OmimConfig)
|
||||
include(OmimHelpers)
|
||||
include(OmimTesting)
|
||||
|
||||
if (APPLE AND NOT ("${CMAKE_SYSTEM_NAME}" STREQUAL Android))
|
||||
# OBJC/OBJCXX are needed to skip m/mm files in Unity builds.
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/21963
|
||||
@@ -50,14 +33,24 @@ endif()
|
||||
|
||||
message(STATUS "Using compiler ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")
|
||||
|
||||
if (CMAKE_UNITY_BUILD)
|
||||
message(STATUS "Using Unity Build with batch ${CMAKE_UNITY_BUILD_BATCH_SIZE}, use -DCMAKE_UNITY_BUILD=OFF to disable it.")
|
||||
option(COVERAGE_REPORT "Configure for coverage report" OFF)
|
||||
|
||||
option(UNITY_DISABLE "Disable unity build" OFF)
|
||||
if (NOT UNITY_DISABLE AND NOT DEFINED ENV{UNITY_DISABLE})
|
||||
set(CMAKE_UNITY_BUILD ON)
|
||||
if (DEFINED ENV{UNITY_BUILD_BATCH_SIZE})
|
||||
set(CMAKE_UNITY_BUILD_BATCH_SIZE $ENV{UNITY_BUILD_BATCH_SIZE})
|
||||
else()
|
||||
set(CMAKE_UNITY_BUILD_BATCH_SIZE 50)
|
||||
endif()
|
||||
message(STATUS "Using Unity Build with batch ${CMAKE_UNITY_BUILD_BATCH_SIZE}, export UNITY_DISABLE=1 or use -DUNITY_DISABLE=ON to disable it.")
|
||||
endif()
|
||||
|
||||
if (USE_CCACHE)
|
||||
option(CCACHE_DISABLE "Disable ccache" OFF)
|
||||
if (NOT CCACHE_DISABLE AND NOT DEFINED ENV{CCACHE_DISABLE})
|
||||
find_program(CCACHE_PROGRAM ccache HINTS /usr/local/bin/)
|
||||
if (CCACHE_PROGRAM)
|
||||
message(STATUS "Using ccache, use -DUSE_CCACHE=OFF to disable it.")
|
||||
message(STATUS "Using ccache, export CCACHE_DISABLE=1 or use -DCCACHE_DISABLE=ON to disable it.")
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "${CCACHE_PROGRAM}")
|
||||
set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}")
|
||||
@@ -65,13 +58,44 @@ if (USE_CCACHE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
option(COLORS_DISABLE "Disable colored compiler output" OFF)
|
||||
if (NOT DEFINED ENV{COLORS_DISABLE} AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
||||
message(STATUS "export COLORS_DISABLE=1 or use -DCOLORS_DISABLE=ON to disable colored compiler output.")
|
||||
add_compile_options($<$<CXX_COMPILER_ID:GNU>:-fdiagnostics-color=always> $<$<CXX_COMPILER_ID:Clang,AppleClang>:-fcolor-diagnostics>)
|
||||
add_link_options($<$<CXX_COMPILER_ID:GNU>:-fdiagnostics-color=always> $<$<CXX_COMPILER_ID:Clang,AppleClang>:-fcolor-diagnostics>)
|
||||
endif()
|
||||
|
||||
option(WITH_SYSTEM_PROVIDED_3PARTY "Enable compilation with system provided dependencies" OFF)
|
||||
set(OMIM_ROOT ${CMAKE_SOURCE_DIR})
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${OMIM_ROOT}/cmake")
|
||||
|
||||
include(OmimHelpers)
|
||||
include(OmimTesting)
|
||||
|
||||
set(PLATFORM_DESKTOP TRUE)
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(PLATFORM_LINUX TRUE)
|
||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||
set(PLATFORM_MAC TRUE)
|
||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
set(PLATFORM_WIN TRUE)
|
||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||
set(PLATFORM_ANDROID TRUE)
|
||||
set(PLATFORM_DESKTOP FALSE)
|
||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "iOS")
|
||||
set(PLATFORM_IPHONE TRUE)
|
||||
set(PLATFORM_DESKTOP FALSE)
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported platform: ${CMAKE_SYSTEM_NAME}")
|
||||
endif()
|
||||
|
||||
if(${PLATFORM_MAC})
|
||||
set(XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES)
|
||||
|
||||
# Metal language support
|
||||
list(APPEND CMAKE_MODULE_PATH ${OMIM_ROOT}/3party/CMake-MetalShaderSupport/cmake)
|
||||
include(CheckLanguage)
|
||||
include(CMakeMetalInformation)
|
||||
include(MetalShaderSupport)
|
||||
check_language(Metal)
|
||||
if(CMAKE_Metal_COMPILER)
|
||||
@@ -79,6 +103,23 @@ if(${PLATFORM_MAC})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Sanitizer
|
||||
if (PLATFORM_DESKTOP)
|
||||
# https://clang.llvm.org/docs/UsersManual.html#controlling-code-generation
|
||||
set(BUILD_WITH_SANITIZER None CACHE STRING "Set to 'address' or others to enable sanitizer")
|
||||
|
||||
if (NOT ${BUILD_WITH_SANITIZER} MATCHES "None")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=${BUILD_WITH_SANITIZER} -fno-omit-frame-pointer")
|
||||
set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -fsanitize=${BUILD_WITH_SANITIZER} -fno-omit-frame-pointer")
|
||||
message(STATUS "Enable sanitizer: ${BUILD_WITH_SANITIZER}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Set build type:
|
||||
if (NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
endif()
|
||||
|
||||
# Global compile options for all configurations.
|
||||
if (MSVC)
|
||||
add_compile_options(/utf-8)
|
||||
@@ -110,6 +151,98 @@ else()
|
||||
endif()
|
||||
|
||||
message(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
|
||||
# End of setting build type
|
||||
|
||||
# Options
|
||||
|
||||
# Call `make package` after cmake to build design tool.
|
||||
option(BUILD_DESIGNER "Build application as design tool" OFF)
|
||||
if (BUILD_DESIGNER)
|
||||
message(STATUS "Designer tool building is enabled")
|
||||
add_definitions(-DBUILD_DESIGNER)
|
||||
endif()
|
||||
|
||||
option(BUILD_STANDALONE "Build standalone application" OFF)
|
||||
if (BUILD_STANDALONE)
|
||||
message(STATUS "Standalone building is enabled")
|
||||
add_definitions(-DBUILD_STANDALONE)
|
||||
endif()
|
||||
|
||||
option(USE_ASAN "Enable Address Sanitizer" OFF)
|
||||
option(USE_TSAN "Enable Thread Sanitizer" OFF)
|
||||
option(USE_LIBFUZZER "Enable LibFuzzer" OFF)
|
||||
option(PYBINDINGS "Create makefiles for building python bindings" OFF)
|
||||
option(SKIP_QT_GUI "Skip building of Qt GUI" OFF)
|
||||
option(USE_PCH "Use precompiled headers" OFF)
|
||||
option(NJOBS "Number of parallel processes" OFF)
|
||||
option(ENABLE_VULKAN_DIAGNOSTICS "Enable Vulkan diagnostics" OFF)
|
||||
option(ENABLE_TRACE "Enable Tracing" OFF)
|
||||
|
||||
if (NJOBS)
|
||||
message(STATUS "Number of parallel processes: ${NJOBS}")
|
||||
set(CMAKE_JOB_POOLS custom=${NJOBS})
|
||||
set(CMAKE_JOB_POOL_COMPILE custom)
|
||||
set(CMAKE_JOB_POOL_LINK custom)
|
||||
set(CMAKE_JOB_POOL_PRECOMPILE_HEADER custom)
|
||||
endif()
|
||||
|
||||
# GCC 10.0 is required to support <charconv> header inclusion in base/string_utils.hpp
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.0)
|
||||
message(FATAL_ERROR "Minimum supported g++ version is 10.0, yours is ${CMAKE_CXX_COMPILER_VERSION}")
|
||||
endif()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(PCH_EXTENSION "pch")
|
||||
endif()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||
set(PCH_EXTENSION "gch")
|
||||
endif()
|
||||
|
||||
if (PLATFORM_LINUX)
|
||||
option(USE_PPROF "Enable Google Profiler" OFF)
|
||||
endif()
|
||||
|
||||
if (USE_ASAN)
|
||||
message(STATUS "Address Sanitizer is enabled")
|
||||
endif()
|
||||
|
||||
if (USE_TSAN)
|
||||
message(STATUS "Thread Sanitizer is enabled")
|
||||
endif()
|
||||
|
||||
if (USE_ASAN AND USE_TSAN)
|
||||
message(FATAL_ERROR "Can't use two different sanitizers together")
|
||||
endif()
|
||||
|
||||
if (USE_LIBFUZZER)
|
||||
message(STATUS "LibFuzzer is enabled")
|
||||
endif()
|
||||
|
||||
if (USE_PPROF)
|
||||
message(STATUS "Google Profiler is enabled")
|
||||
add_definitions(-DUSE_PPROF)
|
||||
endif()
|
||||
|
||||
if (USE_HEAPPROF)
|
||||
message(STATUS "Heap Profiler is enabled")
|
||||
endif()
|
||||
|
||||
if (ENABLE_VULKAN_DIAGNOSTICS)
|
||||
message(WARNING "Vulkan diagnostics are enabled. Be aware of performance impact!")
|
||||
add_definitions(-DENABLE_VULKAN_DIAGNOSTICS)
|
||||
endif()
|
||||
|
||||
if (ENABLE_TRACE)
|
||||
message(STATUS "Tracing is enabled")
|
||||
add_definitions(-DENABLE_TRACE)
|
||||
endif()
|
||||
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
# Set environment variables
|
||||
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
|
||||
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
if (PLATFORM_LINUX OR PLATFORM_ANDROID)
|
||||
find_program(LLD_FOUND ld.lld)
|
||||
@@ -167,6 +300,28 @@ endif()
|
||||
# To allow #include "base/file_name.hpp" in all sources.
|
||||
include_directories(${CMAKE_HOME_DIRECTORY})
|
||||
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
if (USE_ASAN)
|
||||
add_compile_options(
|
||||
"-fsanitize=address"
|
||||
"-fno-omit-frame-pointer"
|
||||
)
|
||||
endif()
|
||||
|
||||
if (USE_TSAN)
|
||||
add_compile_options(
|
||||
"-fsanitize=thread"
|
||||
"-fno-omit-frame-pointer"
|
||||
)
|
||||
endif()
|
||||
|
||||
if (USE_LIBFUZZER)
|
||||
add_compile_options(
|
||||
"-fsanitize=fuzzer"
|
||||
)
|
||||
endif()
|
||||
|
||||
if (USE_PCH)
|
||||
message(STATUS "Precompiled headers are ON")
|
||||
set(OMIM_PCH_TARGET_NAME "omim_pch")
|
||||
|
||||
@@ -7,12 +7,6 @@ CoMaps contributors:
|
||||
(in alphabetic order)
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Bastian Greshake Tzovaras
|
||||
clover sage
|
||||
Harry Bond <me@hbond.xyz>
|
||||
vikiawv
|
||||
Yannik Bloscheck
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Organic Maps (formerly OMaps) contributors:
|
||||
(in alphabetic order)
|
||||
|
||||
186
README.md
@@ -1,88 +1,65 @@
|
||||
<!-- Navigation Bar -->
|
||||
<p align="center">
|
||||
<a href="https://codeberg.org/comaps#comaps">Project Intro</a> |
|
||||
<a href="https://codeberg.org/comaps/Governance#comaps-project-governance-docs">Governance</a> |
|
||||
<a href="https://codeberg.org/comaps/Governance/src/branch/main/FAQ.md">FAQ</a> |
|
||||
<a href="#contributing">Contribute</a> |
|
||||
<a href="https://www.comaps.app/donate">Donate</a> |
|
||||
<a href="https://codeberg.org/comaps#keep-connected">Keep Connected</a>
|
||||
<!--<div align="center">
|
||||
<img src="qt/res/logo.png" height="100"/>
|
||||
</div>-->
|
||||
|
||||
<!-- a nav bar -->
|
||||
[Project Intro](https://codeberg.org/comaps#comaps)
|
||||
| [Governance](https://codeberg.org/comaps/Governance#comaps-project-governance-docs)
|
||||
| [FAQ](https://codeberg.org/comaps/Governance/src/branch/main/FAQ.md)
|
||||
| [Contribute](#contributing)
|
||||
| [Donate](https://www.comaps.app/donate)
|
||||
| [Keep Connected](https://codeberg.org/comaps#keep-connected)
|
||||
|
||||
# [CoMaps](https://comaps.app) – Hike, Bike, Drive Offline – Easy Map Navigation with Privacy
|
||||
|
||||
[
|
||||

|
||||
](https://github.com/comaps/comaps/actions/workflows/android-check.yaml)
|
||||
[
|
||||

|
||||
](https://github.com/comaps/comaps/actions/workflows/ios-check.yaml)
|
||||
[
|
||||

|
||||
](https://opencollective.com/comaps)
|
||||
[
|
||||

|
||||
](https://liberapay.com/CoMaps)
|
||||
|
||||
|
||||
|
||||
A community-led free & open source maps app based on [OpenStreetMap](https://www.openstreetmap.org) data and reinforced with commitment to transparency, privacy and being not-for-profit. CoMaps is a fork/spin-off of Organic Maps, which in turn is a fork of Maps.ME.
|
||||
|
||||
There are apps for Android and iOS (and ARM macOS).
|
||||
An alpha linux / macOS Qt desktop version, which is also suitable for linux phones.
|
||||
|
||||
**We're working on getting first app releases out soon, please stay tuned!**
|
||||
|
||||
<!--
|
||||
[<img src="docs/badges/apple-appstore.png" alt="App Store" width="160">](https://apps.apple.com/app/comaps/id1567437057)
|
||||
[<img src="docs/badges/google-play.png" alt="Google Play" width="160">](https://play.google.com/store/apps/details?id=app.comaps)
|
||||
[<img src="docs/badges/fdroid.png" alt="F-Droid" width="160">](https://f-droid.org/en/packages/app.comaps/)
|
||||
-->
|
||||
|
||||
<p float="left">
|
||||
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/1.jpg" width="180" />
|
||||
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/2.jpg" width="180" />
|
||||
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/3.jpg" width="180" />
|
||||
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/4.jpg" width="180" />
|
||||
</p>
|
||||
|
||||
<div align="center" >
|
||||
<img src="docs/badges/logo.svg" width="150">
|
||||
</div>
|
||||
**Offline-focused**: Plan and navigate your trip abroad without the need for cellular service, search waypoints while on a distant hike, etc. All app functions are designed to work offline.
|
||||
|
||||
**Respecting Privacy**: The app is designed with privacy in mind - does not identify people, does not track, and does not collect personal information. Ads-free.
|
||||
|
||||
<div align="center">
|
||||
<h1><a href="https://comaps.app/">CoMaps</a></h1>
|
||||
<h2>Hike, Bike, Drive Offline - Easy Map Navigation with Privacy</h2>
|
||||
</div>
|
||||
<div align="center">
|
||||
<p align="center">
|
||||
<a href="https://codeberg.org/comaps/comaps/releases">
|
||||
<img src="https://img.shields.io/github/license/comaps/comaps?style=for-the-badge&logo=opensourceinitiative&logoColor=white&color=588157" alt="License" style="width: 90%; max-width: 150px;"/>
|
||||
</a>
|
||||
<a href="https://github.com/comaps/comaps/actions/workflows/android-check.yaml">
|
||||
<img src="https://img.shields.io/github/actions/workflow/status/comaps/comaps/.github/workflows/android-check.yaml?label=Android%20Build&logo=android&logoColor=white&style=for-the-badge&color=588157" alt="Android Build Status" style="width: 90%; max-width: 170px;"/>
|
||||
</a>
|
||||
<a href="https://github.com/comaps/comaps/actions/workflows/ios-check.yaml">
|
||||
<img src="https://img.shields.io/github/actions/workflow/status/comaps/comaps/.github/workflows/ios-check.yaml?label=iOS%20Build&logo=apple&logoColor=white&style=for-the-badge&color=588157" alt="iOS Build Status" style="width: 90%; max-width: 145px;"/>
|
||||
</a>
|
||||
<a href="https://opencollective.com/comaps">
|
||||
<img src="https://img.shields.io/opencollective/all/comaps?label=Open%20Collective%20Donors&logo=opencollective&logoColor=white&style=for-the-badge&color=588157" alt="Open Collective Donors" style="width: 90%; max-width: 191px;"/>
|
||||
</a>
|
||||
<a href="https://liberapay.com/CoMaps">
|
||||
<img src="https://img.shields.io/liberapay/patrons/CoMaps.svg?label=Liberapay%20Patrons&logo=liberapay&logoColor=white&style=for-the-badge&color=588157" alt="Liberapay Patrons" style="width: 90%; max-width: 160px;"/>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
**Simple and Polished**: essential easy to use features that just work.
|
||||
|
||||
---
|
||||
**Saves Your Battery and Space**: Doesn’t drain your battery like other navigation apps. Compact maps save precious space on your phone.
|
||||
|
||||
A community-led free & open source maps app based on [OpenStreetMap](https://www.openstreetmap.org), built for transparency, privacy, and not-for-profit values. A fork of Organic Maps, originally based on Maps.ME.
|
||||
**Free and Built by the Community**: People like you helped build the app by adding places to [OpenStreetMap](https://www.openstreetmap.org), testing and giving feedback on features and contributing their development skills and money.
|
||||
|
||||
**Available for:** Android, iOS, ARM macOS, and alpha Linux/macOS desktop builds (also usable on Linux phones).
|
||||
**Open and Transparent Decision-making and Financials, Not-for-profit and Fully Open Source.**
|
||||
|
||||
<p align="center">
|
||||
<a href="https://apps.apple.com/app/comaps/id6747180809">
|
||||
<img src="docs/badges/apple-appstore.png" alt="App Store" width="160"/>
|
||||
</a>
|
||||
<a href="https://play.google.com/store/apps/details?id=app.comaps.google">
|
||||
<img src="docs/badges/google-play.png" alt="Google Play" width="160"/>
|
||||
</a>
|
||||
<a href="https://f-droid.org/en/packages/app.comaps.fdroid/">
|
||||
<img src="docs/badges/fdroid.png" alt="F-Droid" width="160"/>
|
||||
</a>
|
||||
<a href="https://codeberg.org/comaps/comaps/releases">
|
||||
<img src="docs/badges/codeberg.png" alt="Codeberg" width="160"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
|
||||
<!-- Screenshots -->
|
||||
<p align="center">
|
||||
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/1.png" width="180" />
|
||||
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/2.png" width="180" />
|
||||
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/3.png" width="180" />
|
||||
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/4.png" width="180" />
|
||||
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/5.png" width="180" />
|
||||
<img src="android/app/src/fdroid/play/listings/en-US/graphics/phone-screenshots/6.png" width="180" />
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## ⚡️ Highlights
|
||||
|
||||
- **Offline-first**: Navigate without a connection
|
||||
- **Privacy-respecting**: No tracking, Ads or data collection
|
||||
- **Lightweight**: Battery- and space-efficient
|
||||
- **Simple**: Polished, user-focused interface
|
||||
- **Community-built**: Free, open source, and collaborative
|
||||
- **Transparent**: Open finances and governance
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Main Features
|
||||
### Main Features
|
||||
|
||||
- Downloadable detailed maps with places which are not available with Google Maps
|
||||
|
||||
@@ -112,52 +89,37 @@ A community-led free & open source maps app based on [OpenStreetMap](https://www
|
||||
|
||||
- Android Auto and CarPlay support
|
||||
|
||||
***Freedom Is Here – Navigate the world with privacy and community at the forefront.***
|
||||
*Freedom Is Here - Discover your journey, navigate the world with privacy and community at the forefront!*
|
||||
|
||||
---
|
||||
|
||||
## 🤝 Contributing
|
||||
## Contributing
|
||||
|
||||
You can help by donating, contributing code, translating, or by telling others about it. To build the best maps app there is a need for software development, design, product, community development, and other areas. Reach out to us and let us know how you want to help.
|
||||
|
||||
- Build instructions: [docs/INSTALL.md](docs/INSTALL.md)
|
||||
- Contribution guide: [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md)
|
||||
> [!NOTE]
|
||||
> Some docs might be outdated, contain broken links or old references to Organic Maps, etc. Its a work in progress and help is much appreciated!
|
||||
If you want to build the project, check [docs/INSTALL.md](docs/INSTALL.md). If you want to help the project,
|
||||
see [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md). You can help in many ways, the ability to code is not necessary.
|
||||
|
||||
There is a dedicated Zulip chat for active contributors: [Zulip](https://comaps.zulipchat.com)
|
||||
Some docs might be outdated, contain broken links or old references to Organic Maps, etc. Its a work in progress and help is much appreciated!
|
||||
|
||||
---
|
||||
There is a dedicated Zulip chat for active contributors: [comaps.zulipchat.com](https://comaps.zulipchat.com)
|
||||
|
||||
## 💬 Feedback
|
||||
### Feedback
|
||||
|
||||
- Rate us on [App Store](https://apps.apple.com/app/comaps/id6747180809) and [Google Play](https://play.google.com/store/apps/details?id=app.comaps.google)
|
||||
- Star our repos on Codeberg
|
||||
- Report bugs or request features on the [issue tracker](https://codeberg.org/comaps/comaps/issues)
|
||||
<!-- uncomment when linked resources are ready
|
||||
- **Rate us on the [App Store](https://apps.apple.com/app/comaps/id1567437057)
|
||||
and [Google Play](https://play.google.com/store/apps/details?id=app.comaps)**. -->
|
||||
- Star our repos on Codeberg
|
||||
- Report bugs and discuss features at [the issue tracker](https://codeberg.org/comaps/comaps/issues)
|
||||
|
||||
---
|
||||
## How is development funded?
|
||||
|
||||
## 💸 Funding
|
||||
The app is free for everyone, so we rely on donations. Please [donate](https://opencollective.com/comaps/donate) to support the CoMaps community and see this open project thrive!
|
||||
|
||||
CoMaps is free. To stay that way, it relies on your support.
|
||||
Donate via [OpenCollective](https://opencollective.com/comaps/donate) or [Liberapay](https://liberapay.com/CoMaps).
|
||||
The project's financial information is completely open and transparent at [our Open Collective](https://opencollective.com/comaps).
|
||||
|
||||
---
|
||||
## License and Copyright
|
||||
|
||||
## 🔒 Privacy
|
||||
|
||||
The Android app has been reviewed by [Exodus Privacy](https://reports.exodus-privacy.eu.org/en/reports/app.comaps.google/latest/).
|
||||
|
||||
To [verify](https://developer.android.com/studio/command-line/apksigner#usage-verify) the APK, use the following signing certificate fingerprints:
|
||||
```
|
||||
SHA-256: 4894e8e6963627ef660031d8593fe77297f835acb4e23810003e926135023b4c
|
||||
SHA-1: 8b7b5739f917e9f7c681671ced0c9c8562123ade
|
||||
MD5: 9cce0ffea281dc2f0e0a154d6d2e281e
|
||||
```
|
||||
---
|
||||
|
||||
## ⚖️ License
|
||||
|
||||
Licensed under the Apache License 2.0.
|
||||
See [LICENSE](LICENSE), [NOTICE](NOTICE), and [data/copyright.html](data/copyright.html).
|
||||
Licensed under the Apache License, Version 2.0. See
|
||||
[LICENSE](LICENSE),
|
||||
[NOTICE](NOTICE)
|
||||
and [data/copyright.html](data/copyright.html)
|
||||
for more information.
|
||||
|
||||
12
android/.idea/icon.svg
generated
@@ -1,4 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="64pt" height="64pt" viewBox="0 0 835 835">
|
||||
<path d="M698.5 141.1a20 20 0 0 1 30.8-1.3A416 416 0 0 1 835 417.4a416 416 0 0 1-93.3 263 20 20 0 0 1-31.3-.6l-43-56.6a20 20 0 0 1-.2-24 307 307 0 0 0 59.3-181.8c0-74.2-26.2-142.3-69.9-195.6a20 20 0 0 1-.5-24.8zM260.7 456.4a20 20 0 0 1-7.7-36.7l282-177.4a20 20 0 0 1 29.9 22.7l-97 318.9a20 20 0 0 1-37.5 2.2l-49.2-111.5z" style="fill:#ccdfca"/>
|
||||
<path d="M626.3 753a20 20 0 0 1-6.2 29.6A416 416 0 0 1 417.5 835 417.7 417.7 0 0 1 0 417.4 417.7 417.7 0 0 1 603.3 43.5a20 20 0 0 1 7 30l-42.4 55.8a20 20 0 0 1-24.2 6.1 307 307 0 0 0-126.2-27 309 309 0 0 0-309 309c0 170.6 138.5 309 309 309a307 307 0 0 0 141.6-34.3 20 20 0 0 1 25.1 5.6z" style="fill:#fefdf6"/>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg version="1.1" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
|
||||
<g inkscape:groupmode="layer" inkscape:label="Layer 1">
|
||||
<rect fill="#006c35" fill-opacity="1.0" x="0" y="0" width="1024" height="1024"/>
|
||||
<path fill="#ffffff" d="m861.3562052 256.9139426c18.220574 48.4374573-79.2585233 166.2022835-172.1806378 196.4226995-168.0803471-58.2153969-173.5457836 39.5504743-311.1096159 132.4296677 162.6149552 112.4329497 332.9737882 24.8856325 329.7844002-85.7673036-127.9956457 73.3254376-208.1650824 81.3238121-254.1719349 79.1032962 154.8710218-30.6636026 322.0404219-125.7633124 357.0667834-165.7616685 0.032202 1.7749817 0.049863 3.5523114 0.049863 5.33456 0 191.0905993-295.1650572 474.6148576-295.1650572 474.6148576s-154.5086464-147.95159-239.9499331-302.4701423c-11.943516-0.1614425-83.8230022 25.9633002-110.3310391-9.051445-29.6082623-39.1049397 80.1693081-170.2028122 175.3699196-209.3102117 170.3563508 77.3261904 263.7351577-123.0971499 317.0292402-134.2068293-158.9688193-94.2135154-316.1183714-55.5493358-333.8847017 84.4353407 88.3675802-50.2172465 196.7775505-78.65765 246.8822227-76.4346744-140.7606999 28.7623957-301.9981102 132.8752019-350.2809443 172.4255642 0-159.041983 132.1505407-287.9677052 295.1650569-287.9677052 96.4018995 0 182.0095151 45.0859887 235.8744518 114.8252613 0.00335 0 96.1884344-31.2834041 109.851981 11.3787329zm-33.7059144 14.218972c-12.6607646-17.2289278-56.7341326 2.8936807-56.7341326 2.8936807 6.1678152 10.3446685 11.7002555 21.0960758 16.5352245 32.2084942 4.8995467 11.2622344 9.0867303 22.8954305 12.5044868 34.8382086 0 0 45.0041042-46.3863227 27.6944213-69.9403835zm-629.5734431 294.3797539c13.6858848 18.6189721 61.3258973-3.1309266 61.3258973-3.1309266-6.6716772-11.1802827-12.6484216-22.8033047-17.8755617-34.8139472-5.2966478-12.1727565-9.8213865-24.7454316-13.5171072-37.6545218 0 0-48.6427553 50.1397674-29.9332284 75.5993956z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 753 B After Width: | Height: | Size: 2.0 KiB |
@@ -19,4 +19,5 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
optipng
|
||||
WORKDIR /root/comaps
|
||||
RUN ./configure.sh
|
||||
RUN ./tools/unix/generate_symbols.sh
|
||||
CMD ./gradlew -Parm64 assembleFdroidDebug
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
To build, install and run e.g. a Web Debug version on your device/emulator: './gradlew runWebDebug'
|
||||
|
||||
Or to compile a redistributable Fdroid Test apk for testing: './gradlew assembleFdroidBeta'
|
||||
Or to compile a redistributable Fdroid Beta apk for testing: './gradlew assembleFdroidBeta'
|
||||
|
||||
Or to build test apks for all flavors: './gradlew assembleBeta'
|
||||
Or to build beta apks for all flavors: './gradlew assembleBeta'
|
||||
|
||||
To see all available build targets './gradlew tasks'
|
||||
|
||||
|
||||
11
android/app/.gitignore
vendored
@@ -2,14 +2,14 @@
|
||||
/nativeOutputs
|
||||
|
||||
# ignore private keys
|
||||
/secure.properties.test
|
||||
/secure.properties.release
|
||||
/comaps-test.keystore
|
||||
/comaps-release.keystore
|
||||
/secure.properties
|
||||
/release.keystore
|
||||
/secure.properties
|
||||
/libnotify.properties
|
||||
/google-play.json
|
||||
/huawei-appgallery.json
|
||||
/agconnect-services.json
|
||||
/src/main/res/xml/network_security_config.xml
|
||||
|
||||
# ignore flags symlinks
|
||||
/src/main/res/drawable-xhdpi/??.png
|
||||
@@ -24,3 +24,6 @@
|
||||
/src/main/res/drawable-mdpi/uk_northern_ireland.png
|
||||
/src/main/res/drawable-mdpi/uk_scotland.png
|
||||
/src/main/res/drawable-mdpi/uk_wales.png
|
||||
|
||||
# ignore autogenerated metadata (see prepareGoogleReleaseListing in build.gradle)
|
||||
/src/google/play/listings
|
||||
|
||||
@@ -7,6 +7,7 @@ buildscript {
|
||||
// Detect flavors from the task name.
|
||||
def taskName = getGradle().getStartParameter().getTaskRequests().toString().toLowerCase()
|
||||
def isFdroid = taskName.contains('fdroid')
|
||||
def isBeta = taskName.contains('beta')
|
||||
|
||||
dependencies {
|
||||
classpath libs.android.tools
|
||||
@@ -65,13 +66,6 @@ project.ext.appName = 'CoMaps'
|
||||
android {
|
||||
namespace 'app.organicmaps'
|
||||
|
||||
dependenciesInfo {
|
||||
// Disables dependency metadata when building APKs (for IzzyOnDroid/F-Droid)
|
||||
includeInApk = false
|
||||
// Disables dependency metadata when building Android App Bundles (for Google Play)
|
||||
includeInBundle = false
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
dataBinding = true
|
||||
buildConfig = true
|
||||
@@ -94,6 +88,7 @@ android {
|
||||
buildConfigField 'String', 'SUPPORT_MAIL', '"android@comaps.app"'
|
||||
// Should be customized in flavors.
|
||||
buildConfigField 'String', 'REVIEW_URL', '""'
|
||||
resourceConfigurations += [project.ext.supportedLocalizations]
|
||||
|
||||
externalNativeBuild {
|
||||
def pchFlag = 'OFF'
|
||||
@@ -222,55 +217,38 @@ android {
|
||||
android.applicationVariants.all { variant ->
|
||||
def task = variant.name.capitalize()
|
||||
project.task(type: Exec, "run${task}", dependsOn: "install${task}") {
|
||||
commandLine android.getAdbExe(), 'shell', 'am', 'start', '-n', "$applicationId/app.organicmaps.DownloadResourcesActivity", '-a', 'android.intent.action.MAIN', '-c', 'android.intent.category.LAUNCHER'
|
||||
commandLine android.getAdbExe(), 'shell', 'am', 'start', '-n', "$applicationId/app.comaps.DownloadResourcesActivity", '-a', 'android.intent.action.MAIN', '-c', 'android.intent.category.LAUNCHER'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def secureReleasePropertiesFileExists = file('secure.properties.release').exists()
|
||||
if (secureReleasePropertiesFileExists) {
|
||||
apply from: 'secure.properties.release'
|
||||
}
|
||||
|
||||
def secureTestPropertiesFileExists = file('secure.properties.test').exists()
|
||||
if (secureTestPropertiesFileExists) {
|
||||
apply from: 'secure.properties.test'
|
||||
def securityPropertiesFileExists = file('secure.properties').exists()
|
||||
if (securityPropertiesFileExists) {
|
||||
apply from: 'secure.properties'
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
debug {
|
||||
storeFile file('comaps-debug.keystore')
|
||||
storeFile file('debug.keystore')
|
||||
storePassword '12345678'
|
||||
keyAlias 'CoMaps Debug'
|
||||
keyAlias 'debug'
|
||||
keyPassword '12345678'
|
||||
}
|
||||
|
||||
test {
|
||||
if (secureTestPropertiesFileExists) {
|
||||
storeFile file(secretTestStoreFile)
|
||||
storePassword secretTestStorePassword
|
||||
keyAlias secretTestKeyAlias
|
||||
keyPassword secretTestKeyPassword
|
||||
} else {
|
||||
println('secure.properties.test doesn\'t exist')
|
||||
}
|
||||
}
|
||||
|
||||
release {
|
||||
if (secureReleasePropertiesFileExists) {
|
||||
storeFile file(secretReleaseStoreFile)
|
||||
storePassword secretReleaseStorePassword
|
||||
keyAlias secretReleaseKeyAlias
|
||||
keyPassword secretReleaseKeyPassword
|
||||
if (securityPropertiesFileExists) {
|
||||
println('The release signing keys are available')
|
||||
storeFile file(spropStoreFile)
|
||||
storePassword spropStorePassword
|
||||
keyAlias spropKeyAlias
|
||||
keyPassword spropKeyPassword
|
||||
} else {
|
||||
println('secure.properties.release doesn\'t exist')
|
||||
println('The release signing keys are unavailable')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
def taskName = getGradle().getStartParameter().getTaskRequests().toString().toLowerCase()
|
||||
|
||||
debug {
|
||||
applicationIdSuffix '.debug' // Allows to install debug and release builds together
|
||||
versionNameSuffix '-debug'
|
||||
@@ -283,16 +261,7 @@ android {
|
||||
}
|
||||
|
||||
release {
|
||||
if (taskName.contains('release')) {
|
||||
if (secureReleasePropertiesFileExists) {
|
||||
println('Using RELEASE signing keys from secure.properties.release')
|
||||
signingConfig signingConfigs.release
|
||||
} else {
|
||||
println('NO RELEASE signing keys found')
|
||||
println('Using DEBUG signing keys')
|
||||
signingConfig signingConfigs.debug
|
||||
}
|
||||
}
|
||||
signingConfig signingConfigs.release
|
||||
minifyEnabled true
|
||||
shrinkResources true
|
||||
// Includes the default ProGuard rules files that are packaged with the Android Gradle plugin.
|
||||
@@ -303,19 +272,11 @@ android {
|
||||
ndk.debugSymbolLevel = 'symbol_table'
|
||||
}
|
||||
|
||||
// TODO(@pastk): rename to "test" everywhere in code
|
||||
beta {
|
||||
applicationIdSuffix '.test'
|
||||
versionNameSuffix '-test'
|
||||
if (taskName.contains('beta')) {
|
||||
if (secureTestPropertiesFileExists) {
|
||||
println('Using TEST signing keys from secure.properties.test')
|
||||
signingConfig signingConfigs.test
|
||||
} else {
|
||||
println('NO TEST signing keys found')
|
||||
println('Using DEBUG signing keys')
|
||||
signingConfig signingConfigs.debug
|
||||
}
|
||||
}
|
||||
signingConfig signingConfigs.release
|
||||
minifyEnabled true
|
||||
shrinkResources true
|
||||
// Includes the default ProGuard rules files that are packaged with the Android Gradle plugin.
|
||||
@@ -341,58 +302,6 @@ android {
|
||||
androidResources {
|
||||
ignoreAssetsPattern '!.svn:!.git:!.DS_Store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~'
|
||||
noCompress = ['txt', 'bin', 'html', 'png', 'json', 'mwm', 'ttf', 'sdf', 'ui', 'config', 'csv', 'spv', 'obj']
|
||||
localeFilters += [
|
||||
"af",
|
||||
"ar",
|
||||
"az",
|
||||
"be",
|
||||
"bg",
|
||||
"ca",
|
||||
"cs",
|
||||
"da",
|
||||
"de",
|
||||
"el",
|
||||
"en",
|
||||
"en-rGB",
|
||||
"es",
|
||||
"es-rMX",
|
||||
"et",
|
||||
"eu",
|
||||
"fa",
|
||||
"fi",
|
||||
"fr",
|
||||
"fr-rCA",
|
||||
"iw",
|
||||
"hi",
|
||||
"hu",
|
||||
"in",
|
||||
"it",
|
||||
"ja",
|
||||
"ko",
|
||||
"lt",
|
||||
"lv",
|
||||
"mr",
|
||||
"mt",
|
||||
"nb",
|
||||
"nl",
|
||||
"pl",
|
||||
"pt",
|
||||
"pt-rBR",
|
||||
"ro",
|
||||
"ru",
|
||||
"sk",
|
||||
"sr",
|
||||
"sv",
|
||||
"sw",
|
||||
"th",
|
||||
"tr",
|
||||
"uk",
|
||||
"vi",
|
||||
"zh",
|
||||
"zh-rHK",
|
||||
"zh-rMO",
|
||||
"zh-rTW"
|
||||
]
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
@@ -447,6 +356,7 @@ dependencies {
|
||||
androidTestImplementation libs.androidx.test.junit
|
||||
testImplementation libs.junit
|
||||
testImplementation libs.mockito.core
|
||||
testImplementation libs.mockito.inline
|
||||
}
|
||||
|
||||
tasks.withType(JavaCompile) {
|
||||
@@ -462,6 +372,32 @@ android.applicationVariants.all { variant ->
|
||||
variant.resValue 'string', 'app_id', variant.applicationId
|
||||
}
|
||||
|
||||
task prepareGoogleReleaseListing {
|
||||
// Prepares Google Play metainfo from F-Droid metainfo.
|
||||
final sourceFlavor = 'fdroid'
|
||||
final targetFlavor = 'google'
|
||||
doLast {
|
||||
final sourceDir = new File("${projectDir}/src/$sourceFlavor/play/listings")
|
||||
final targetDir = new File("${projectDir}/src/$targetFlavor/play/listings")
|
||||
final sourceFiles = fileTree(dir: sourceDir,
|
||||
include: '**/*.txt', exclude: "**/*-${targetFlavor}.txt")
|
||||
sourceFiles.each { File sourceFile ->
|
||||
final locale = sourceFile.parentFile.getName()
|
||||
final targetLocaleDir = new File(targetDir, locale)
|
||||
if (!targetLocaleDir.isDirectory())
|
||||
targetLocaleDir.mkdirs()
|
||||
final targetFile = new File(targetLocaleDir, sourceFile.getName())
|
||||
// Override Google-specific values by using ${name}-google.txt files.
|
||||
final overrideFile = new File(sourceFile.getPath().replace('.txt', "-${targetFlavor}.txt"))
|
||||
targetFile.text = overrideFile.exists() ? overrideFile.text : sourceFile.text
|
||||
}
|
||||
copy {
|
||||
from "${projectDir}/../../screenshots/android"
|
||||
into targetDir
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
play {
|
||||
enabled.set(false)
|
||||
track.set('production')
|
||||
|
||||
BIN
android/app/debug.keystore
Normal file
BIN
android/app/ic_launcher-playstore.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
android/app/src/beta/res/mipmap-hdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
android/app/src/beta/res/mipmap-hdpi/ic_launcher_round.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
android/app/src/beta/res/mipmap-mdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
android/app/src/beta/res/mipmap-mdpi/ic_launcher_round.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
android/app/src/beta/res/mipmap-xhdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
android/app/src/beta/res/mipmap-xhdpi/ic_launcher_round.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
android/app/src/beta/res/mipmap-xxhdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
android/app/src/beta/res/mipmap-xxhdpi/ic_launcher_round.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
android/app/src/beta/res/mipmap-xxxhdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
android/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_round.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
android/app/src/debug/res/mipmap-hdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
android/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
android/app/src/debug/res/mipmap-mdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
android/app/src/debug/res/mipmap-mdpi/ic_launcher_foreground.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
android/app/src/debug/res/mipmap-xhdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 36 KiB |
BIN
android/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 63 KiB |
BIN
android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 97 KiB |
@@ -1,32 +0,0 @@
|
||||
Komunitou vedená bezplatná a otevřená mapová aplikace založená na datech z projektu OpenStreetMap a posílená závazkem k transparentnosti, soukromí a neziskovosti. Aplikace CoMaps je fork/odnož aplikace Organic Maps, která je zase forkem aplikace Maps.ME.
|
||||
|
||||
Důvody vzniku projektu a jeho směr si můžete přečíst na adrese <b><i>codeberg.org/comaps</i></b>.
|
||||
Můžete se zde také připojit ke komunitě pomáhat s vytvářením nejlepší mapové aplikace
|
||||
• Používejte aplikaci a sdílejte ji se známými
|
||||
• Poskytujte zpětnou vazbu a nahlašujte problémy
|
||||
• Aktualizujte mapová data v aplikaci nebo na webu OpenStreetMap
|
||||
|
||||
‣ <b>Zaměřené na offline použití</b>: Plánujte a navigujte své cesty do zahraničí bez nutnosti mobilních dat, hledejte body na vzdálených túrách apod. Všechny funkce aplikace jsou navrženy tak, aby fungovaly offline.
|
||||
‣ <b>S ohledem na soukromí</b>: Aplikace je navržená s důrazem na soukromí – neidentifikuje lidi, nesleduje vás a nesbírá osobní údaje. Bez reklam.
|
||||
‣ <b>Jednoduché a vyladěné</b>: Základní, snadno použitelné funkce, které prostě fungují.
|
||||
‣ <b>Šetří vaši baterii a místo</b>: Nevybíjí vaší baterii, jako ostatní navigační aplikace. Kompaktní mapy šetří cenné místo ve vašem telefonu.
|
||||
‣ <b>Bezplatné a vytvořené komunitou</b>: S vytvářením aplikace pomáhají lidé, jako jste vy, přidáváním míst do projektu OpenStreetMap, testováním a poskytováním zpětné vazby k funkcím a přispíváním svými vývojářskými schopnostmi a penězi.
|
||||
‣ <b>Otevřené a transparentní rozhodování a nakládání s financemi, neziskovost a plně otevřený zdrojový kód.</b>
|
||||
|
||||
<b>Hlavní funkce</b>:
|
||||
• Stahovatelné podrobné mapy s místy, která nenajdete ani v Mapách Google
|
||||
• Outdoorový režim se zvýrazněnými turistickými trasami, tábořišti, vodními zdroji, vrcholy, vrstevnicemi atd.
|
||||
• Pěší trasy a cyklostezky
|
||||
• Body zájmu, jako jsou restaurace, čerpací stanice, hotely, obchody, vyhlídky a mnoho dalšího
|
||||
• Hledání podle názvu nebo adresy nebo podle kategorie bodů zájmu
|
||||
• Navigace s hlasovými pokyny pro chůzi, jízdu na kole nebo řízení
|
||||
• Uložení oblíbených míst jedním klepnutím
|
||||
• Offline články z Wikipedie
|
||||
• Vrstva metra a navigace v něm
|
||||
• Záznam tras
|
||||
• Export a import záložek a tras ve formátech KML, KMZ a GPX
|
||||
• Tmavý režim k použití během noci
|
||||
• Zlepšování mapových dat pro všechny pomocí jednoduchého vestavěného editoru
|
||||
|
||||
<b>Svoboda je tady</b>
|
||||
Objevujte své cesty, navigujte se světem se soukromím a komunitou na prvním místě!
|
||||
@@ -1 +0,0 @@
|
||||
Jednoduchá navigace v mapě – Objevte více na své cestě – Vyvíjeno komunitou
|
||||
@@ -1 +0,0 @@
|
||||
CoMaps – pěšky, na kole a autem offline a soukromě
|
||||
@@ -1 +0,0 @@
|
||||
Nem kortnavigation - Oplev mere af din rejse - Drevet af fællesskabet
|
||||
@@ -1 +0,0 @@
|
||||
CoMaps - vandr, cykl og kør offline med privatliv
|
||||
@@ -1,32 +0,0 @@
|
||||
Eine von der Community betriebene, kostenlose Open-Source Karten-App, die auf OpenStreetMap Daten basiert. Transparent und nicht gewinnorientiert. CoMaps ist ein Fork/Abspaltung von Organic Maps, die wiederum ein Fork/Abspaltung von Maps.Me ist.
|
||||
|
||||
Lese mehr über die Gründe und Ziele des Projektes unter <b><i>codeberg.org/comaps</i></b>.
|
||||
Werde Teil der Community und hilf mit, die beste Karten-App zu entwickeln
|
||||
• Nutze die App und erzähle anderen davon
|
||||
• Gib Feedback und melde Probleme
|
||||
• Aktualisiere Kartendaten in der App oder auf der OpenStreetMap-Webseite
|
||||
|
||||
‣ <b>Einfach und ausgereift</b>: Essenzielle, leicht zu bedienende Funktionen, die einfach funktionieren.
|
||||
‣ <b>Offline-orientiert</b>: Plane und navigiere im Ausland ohne Mobilfunkverbindung, finde Wegpunkte auf abgelegenen Wanderungen usw. Alle Funktionen sind für den Offline-Einsatz konzipiert.
|
||||
‣ <b>Datenschutzfreundlich</b>: Die App wurde mit Fokus auf Privatsphäre entwickelt – keine Personenidentifikation, kein Tracking, keine Erfassung persönlicher Daten, keine Werbung.
|
||||
‣ <b>Spart Akku und Speicherplatz</b>: Verbraucht nicht unnötig Akku wie andere Navi-Apps. Kompakte Karten sparen Speicherplatz auf deinem Gerät.
|
||||
‣ <b>Kostenlos und von der Community entwickelt</b>: Menschen wie du haben geholfen, diese App zu entwickeln – durch das Hinzufügen von Orten zu OpenStreetMap, Testen von neuen Funktionen, Softwareentwicklung oder Spenden.
|
||||
‣ <b>Offen und transparent bei Entscheidungen und Finanzen, gemeinnützig und vollständig Open-Source</b>
|
||||
|
||||
<b>Hauptfunktionen</b>:
|
||||
• Detaillierte, herunterladbare Karten mit Orten, die bei Google Maps oft fehlen
|
||||
• Outdoor-Modus mit hervorgehobenen Wanderwegen, Campingplätzen, Wasserquellen, Gipfeln, Höhenlinien usw.
|
||||
• Geh- und Radwege
|
||||
• Orte wie Restaurants, Tankstellen, Hotels, Geschäfte, Sehenswürdigkeiten und viele mehr
|
||||
• Suche nach Namen, Adressen oder Kategorien
|
||||
• Sprachausgabe bei der Navigation zu Fuß, Rad oder Auto
|
||||
• Lesezeichen mit einem einzigen Tippen speichern
|
||||
• Offline verfügbare Wikipedia-Artikel
|
||||
• U- und S-Bahn-Netze
|
||||
• Aufzeichnen von GPS-Tracks
|
||||
• Import und Export von Favoriten und Routen im KML-, KMZ- oder GPX-Format
|
||||
• Dunkler Modus für die Nutzung bei Nacht
|
||||
• Kartenbearbeitung direkt in der App mit einem einfachen Editor
|
||||
|
||||
<b>Entdecke die Unabhängigkeit</b>
|
||||
Entdecke deine Reise – navigiere in der Welt mit Datenschutz!
|
||||
@@ -1,10 +0,0 @@
|
||||
Hotfix: Behebung des Absturzes der App beim Start unter Android 5-7
|
||||
|
||||
Wir stellen vor: Das neue CoMaps-Logo!
|
||||
• Verbesserte Höhenlinien in vielen Regionen (Stufen von 20/50 m)
|
||||
• Links zu Panoramax-Bildern für ausgewählte POIs
|
||||
• OpenStreetMap-Daten vom 13. Juli
|
||||
• Neue Farben für viele Objekte und Farben werden früher angezeigt
|
||||
• Öffnungszeiten werden beim Antippen eines POI angezeigt
|
||||
• Verschiedene Arten von Feuchtgebieten
|
||||
• Wandern: bessere Darstellung der Höhenlinien
|
||||
@@ -1 +0,0 @@
|
||||
Einfache Navigation - Entdecken Sie mehr von Ihrer Reise - Community-Entwickelt
|
||||
@@ -1 +0,0 @@
|
||||
CoMaps – Offline navigieren mit Datenschutz
|
||||
@@ -1,11 +1,5 @@
|
||||
A community-led free & open source maps app based on OpenStreetMap data and reinforced with commitment to transparency, privacy and being not-for-profit. CoMaps is a fork/spin-off of Organic Maps, which in turn is a fork of Maps.ME.
|
||||
|
||||
Read on about reasons for the project and its direction at <b><i>codeberg.org/comaps</i></b>.
|
||||
Join the community there and help make the best maps app
|
||||
• Use the app and spread the word about it
|
||||
• Give feedback and report issues
|
||||
• Update map data in the app or on the OpenStreetMap website
|
||||
|
||||
‣ <b>Offline-focused</b>: Plan and navigate your trip abroad without the need for cellular service, search waypoints while on a distant hike, etc. All app functions are designed to work offline.
|
||||
‣ <b>Respecting Privacy</b>: The app is designed with privacy in mind - does not identify people, does not track, and does not collect personal information. Ads-free.
|
||||
‣ <b>Simple and Polished</b>: essential easy to use features that just work.
|
||||
@@ -14,19 +8,21 @@ Join the community there and help make the best maps app
|
||||
‣ <b>Open and Transparent Decision-making and Financials, Not-for-profit and Fully Open Source.</b>
|
||||
|
||||
<b>Main Features</b>:
|
||||
• Downloadable detailed maps with places which are not available with Google Maps
|
||||
• Outdoor mode with highlighted hiking trails, campsites, water sources, peaks, contour lines, etc
|
||||
• Walking paths and cycleways
|
||||
• Points of interest like restaurants, gas stations, hotels, shops, sightseeings and many more
|
||||
• Search by name or an address or by point of interest category
|
||||
• Navigation with voice announcements for walking, cycling, or driving
|
||||
• Bookmark your favorite places with a single tap
|
||||
• Offline Wikipedia articles
|
||||
• Subway transit layer and directions
|
||||
• Track recording
|
||||
• Export and import bookmarks and tracks in KML, KMZ, GPX formats
|
||||
• A dark mode to use during the night
|
||||
• Improve map data for everyone using a basic built-in editor
|
||||
<ul>
|
||||
<li>Downloadable detailed maps with places which are not available with Google Maps</li>
|
||||
<li>Outdoor mode with highlighted hiking trails, campsites, water sources, peaks, contour lines, etc</li>
|
||||
<li>Walking paths and cycleways</li>
|
||||
<li>Points of interest like restaurants, gas stations, hotels, shops, sightseeings and many more</li>
|
||||
<li>Search by name or an address or by point of interest category</li>
|
||||
<li>Navigation with voice announcements for walking, cycling, or driving</li>
|
||||
<li>Bookmark your favorite places with a single tap</li>
|
||||
<li>Offline Wikipedia articles</li>
|
||||
<li>Subway transit layer and directions</li>
|
||||
<li>Track recording</li>
|
||||
<li>Export and import bookmarks and tracks in KML, KMZ, GPX formats</li>
|
||||
<li>A dark mode to use during the night</li>
|
||||
<li>Improve map data for everyone using a basic built-in editor</li>
|
||||
<li>Android Auto and CarPlay support</li>
|
||||
</ul>
|
||||
|
||||
<b>Freedom Is Here</b>
|
||||
Discover your journey, navigate the world with privacy and community at the forefront!
|
||||
<i>Freedom Is Here - Discover your journey, navigate the world with privacy and community at the forefront!</i>
|
||||
|
||||
|
Before Width: | Height: | Size: 249 KiB |
BIN
android/app/src/fdroid/play/listings/en-US/graphics/icon/1.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 747 KiB |
|
Before Width: | Height: | Size: 628 KiB |
|
After Width: | Height: | Size: 749 KiB |
|
Before Width: | Height: | Size: 532 KiB |
|
After Width: | Height: | Size: 730 KiB |
|
Before Width: | Height: | Size: 391 KiB |
|
After Width: | Height: | Size: 590 KiB |
|
Before Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 268 KiB |
|
Before Width: | Height: | Size: 263 KiB |
@@ -1,10 +1,8 @@
|
||||
Hotfix: solved app crashing at launch on Android 5-7
|
||||
• New OpenStreetMap data as of February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a Track Recording indicator on the main screen
|
||||
|
||||
Introducing CoMaps logo!
|
||||
• upgrade altitude contour lines for many regions to 20 or 50 meter steps
|
||||
• add Panoramax Picture links to selected POIs
|
||||
• OpenStreetMap data as of July 13
|
||||
• add color fills to many features and display fills earlier for existing features
|
||||
• display opening hours state when selecting a POI
|
||||
• split all wetlands into several distinct types
|
||||
• outdoors: bolder altitude contour lines
|
||||
…more details at omaps.org/news
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
Revisión: se solucionó el fallo de inicio en Android 5-7
|
||||
|
||||
¡Presentamos el logo de CoMaps!
|
||||
• mejora de isolíneas con más detalle para muchas regiones
|
||||
• añade enlaces de imágenes de Panoramax a POIs seleccionados
|
||||
• datos de OpenStreetMap a 13 de julio
|
||||
• añadidos rellenos de color a muchas características
|
||||
• se muestra el estado de horarios de apertura al seleccionar un POI
|
||||
• se dividen los humedales en tipos distintos
|
||||
• exteriores: líneas de contorno de altitud más gruesas
|
||||
@@ -1,32 +0,0 @@
|
||||
Kogukonna juhitud vaba, avatud ja tasuta kaardirakendus, mis kasutab OpenStreetMapi kaardiandmeid ja on kantud meie kohustusest toimida läbipaistvalt, privaatselt ja kasumit mittetaotlevana. CoMaps on loodud Organic Mapsi põhjal, mis omakorda on loodud Maps.ME põhjal.
|
||||
|
||||
Selgitust selle projektiga alustamisele ning teavet meie edaspidiste plaanide kohta leiad <b><i>codeberg.org/comaps</i></b> lehelt.
|
||||
Liitu kogukonnaga ja aita luua parimat kaardirakendust:
|
||||
• Kasuta rakendust ja räägi sellest teistelegi
|
||||
• Jaga tagasisidet ja teata vigadest
|
||||
• Uuenda kaardiandmeid otse rakendusest või OpenStreetMapi veebisaidist
|
||||
|
||||
‣ <b>Ei vaja võrguühendust</b>: kavanda oma teekonda ja lase teed juhatada ilma andmesideühendust kasutamata ning otsi liikvel olles huvipunkte. Kaardirakenduse kogu funktsionaalsus on mõeldud toimima ilma võrguühenduseta.
|
||||
‣ <b>Austab sinu privaatsust</b>: rakendus on loodud privaatsuskesksena - ta ei tuvasta sind, ei jälgi sinu tegevust ega kogu sinu kohta andmeid. Loomulikult pole ka reklaame.
|
||||
‣ <b>Lihtne ja viimistletud</b>: kergeltkasutatav funktsionaalsus, mis lihtsalt toimib.
|
||||
‣ <b>Säästab akut ja andmeruumi</b>: erinevalt teistest kaardirakendustest ei koorma ta akut. Kompaktsed kaardid säästavad nutiseadmes nii vajaliku andmeruumi.
|
||||
‣ <b>Vaba ja loodud kogukonna poolt</b>: tavalised inimesed, nii nagu sinagi, on aitanud kaardirakenduse loomisel, kaartide koostamisel, testimisel ja tagasiside jagamisel ning kõike seda tehes panustanud oma oskuste ja rahaga.
|
||||
‣ <b>Organisatsioon on avatud ja kasutab läbipaistvat otsustusprotsessi ning rahastamist ega taotle kasumit. Rakendus on avatud lähtekoodiga.</b>
|
||||
|
||||
<b>Põhifunktsionaalsused</b>:
|
||||
• Allalaaditavad detailsed kaardid, mille sisu tihtipeale ei leia Google Mapsist
|
||||
• Kaardivaade välitingimuste jaoks, kus matkarajad, laagriplatsid, allikad, mäetipud, kontuurjooned ja palju muud vajalikku on esile tõstetud
|
||||
• Jalgrajad, rattateed ning maanteed
|
||||
• Huvipunktid, nagu restoranid, tanklad, hotellid, poed, vaatamisväärsused ja palju muud
|
||||
• Otsida saad nime, aadressi või huvipunkti kategooria alusel
|
||||
• Tee juhatamine hääljuhiste abil toimib nii kõndimisel, rattasõidul kui auto juhtimisel
|
||||
• Ühe puudutusega saad oma lemmikkohad märkida järjehoidjana
|
||||
• Vikipeedia artiklid, mida saad lugeda ilma võrguühenduseta
|
||||
• Metroode plaanid ja suunajuhised
|
||||
• Raja või teekonna salvestamise võimalus
|
||||
• Järjehoidjate ja radade eksport ning import KML, KMZ ja GPX vormingutes
|
||||
• Tume kaardivaade kasutamiseks öösel
|
||||
• Kasutades lihtsat muutmisliidest saad kaarti kõikide huvides täiendada
|
||||
|
||||
<b>Vabadus on siin</b>
|
||||
Uuri maailma ja avasta uusi teid - tee seda privaatselt ja kogukonnaga arvestades!
|
||||
@@ -1 +0,0 @@
|
||||
Lihtne tee juhatamine - Avasta reisides enamat - Kõik see toimeka kogukonna toel
|
||||
@@ -1 +0,0 @@
|
||||
CoMaps - sinu privaatne kaart
|
||||
@@ -1,32 +0,0 @@
|
||||
Komunitateko doako eta iturburu irekiko aplikazioa OpenStreetMap datuetan oinarrituta eta gardentasuna, pribatutasuna eta irabazi asmorik gabeko konpromisoarekin indartua. Comaps Organic Maps-en fork edo aldaera bat da, eta hori, aldi berean, maps.me-ren forka da.
|
||||
|
||||
Irakurri proiektuaren zergatia eta haren norabidea <b> <i> codeberg.org/comaps </ i> </ b>.
|
||||
Sartu komunitatean eta lagundu maparik onena aplikatzen
|
||||
• Erabili aplikazioa eta horren berri eman
|
||||
• Eman feedbacka eta txostenetako gaiak
|
||||
• Eguneratu maparen datuak aplikazioan edo OpenStreetMap webgunean
|
||||
|
||||
‣ <b> Konexiorik gabe fokatuta </ b> Planifikatu eta nabigatu atzerrira bidaiatzea, telefono zerbitzu beharrik gabe, bilaketa-biderapenak urruneko ibilaldian eta abar. Aplikazio funtzio guztiak lineaz kanpo lan egiteko diseinatuta daude.
|
||||
‣ <b> Pribatutasuna errespetatzea </ b> errespetatzea: aplikazioa pribatutasunarekin diseinatuta dago, ez du pertsonak identifikatzen, ez du jarraipena egiten, eta ez du informazio pertsonala biltzen. Iragarkirik ez.
|
||||
‣ <b> Sinplea eta leundua </ b>: Ezinbestekoa da funtzionatzen duten ezaugarriak erabiltzeko.
|
||||
‣ <b> Zure bateria eta espazioa gordetzen ditu </ b>: ez du bateria xahutzen beste nabigazio aplikazioak bezala. Mapa trinkoak. Gorde espazio preziatua zure telefonoan.
|
||||
‣ <b> Librea eta komunitateak eraikitakoa: Jendeak aplikazioa eraikitzen lagundu zuen aplikazioa eraikitzen lagunduz OpenStreetMap, probatu eta funtzioei buruzko iritzia emanez eta garapen trebetasunak eta dirua lagunduz.
|
||||
‣ <b> Erabakiak eta finantza irekiak eta gardena, irabazi asmorik gabeko eta guztiz irekitako iturria. </ B>
|
||||
|
||||
<b> Ezaugarri nagusiak </ b>:
|
||||
• Deskargatu mapa zehatzak Google Maps-ekin eskuragarri ez dauden lekuekin
|
||||
• Mendiko modua nabarmendutako mendi ibilbideak, kanpinak, ur iturriak, gailurrak, sestra-lerroak, etab
|
||||
• Bideak eta bidegorriak
|
||||
• Jatetxe, gas geltokiak, hotelak, dendak, bisitak eta bestelako interesguneak
|
||||
• Bilatu izenaren edo helbide baten arabera edo interes-kategoriaren arabera
|
||||
• Oinez, txirrinduaz edo gidatzeko ahots-oharrekin nabigazioa
|
||||
• Markatu zure gogoko lekuak sakatze bakarrarekin
|
||||
• Lineaz kanpoko Wikipedia artikuluak
|
||||
• Metroaren garraio geruza eta jarraibideak
|
||||
• Arrastoen grabazioa
|
||||
• Laster-markak eta ibilbideak esportatu eta inportatu KML, KMZ, GPX formatuetan
|
||||
• Gauean erabiltzeko modu iluna
|
||||
• Hobetu mapako datuak guztiontzat oinarrizko editore integratua erabiliz
|
||||
|
||||
<b> Askatasuna hemen </ b> da
|
||||
Ezagutu zure bidaia, nabigatu munduan pribatutasunarekin eta komunitatez abangoardian!
|
||||
@@ -1 +0,0 @@
|
||||
Mapa nabigazio erraza - Ezagutu gehiago zure bidaiaz - Komunitatean egina
|
||||
@@ -1 +0,0 @@
|
||||
CoMaps- Mendia, bizikleta, autoa, dena offline
|
||||
@@ -1,32 +0,0 @@
|
||||
Yhteisövetoinen, ilmainen ja avoimeen lähdekoodiin perustuva karttasovellus, jonka pohjalla käytetään OpenStreetMapin avointa karttadataa. Sovelluksen kehityksessä on sitouduttu läpinäkyvyyteen, yksityisyyteen ja voittoa tavoittelemattomuuteen. CoMapsin projekti on haarautunut Organic Mapsista, joka taas on haarautunut aiemmin Maps.ME:stä
|
||||
|
||||
Lue lisää projektin tavotteista ja suunnasta osoitteesta <b><i>codeberg.org/comaps</i></b>.
|
||||
Liity yhteisöön ja auta kehittämään paras saatavilla oleva karttasovellus
|
||||
• Käytä sovellusta ja kerro siitä myös muille
|
||||
• Anna palautetta ja raportoi ongelmia
|
||||
• Päivitä karttoja, joko sovelluksessa tai OpenStreetMapin verkkosivuilla
|
||||
|
||||
‣ <b>Offline-painotteinen</b>: Suunnittele ja navigoi ulkomailla ilman mobiiliverkkoja. Kaikki sovelluksen toiminnot on suunniteltu käytettäväksi ilman verkkoyhteyttä.
|
||||
‣ <b>Kunnioittaa yksityisyyttä</b>: Sovellus on suunniteltu yksilön yksityisyys silmälläpitäen. Sovellus ei tunnista tai kerää tietoja sinusta. Mainosvapaa.
|
||||
‣ <b>Yksinkertainen ja viimeistelty</b>: Olennaiset ominaisuudet, joita on helppo käyttää.
|
||||
‣ <b>Säästä akkua ja tallennustilaa</b>: Ei kuluta akkua, kuten muut navigointisovellukset. Kompaktit kartat säästävät arvokasta tallennustilaa puhelimessasi.
|
||||
‣ <b>Ilmainen ja yhteisön luoma</b>: Vapaaehtoiset, kuten sinä olette auttaneet sovelluksen kehityksessä lisäämällä paikkoja OpenStreetMap:iin, testaamalla sovellusta ja antamalla palautetta. Voit myös auttaa kehittämällä ominaisuuksia ja lahjoittamalla sovelluskehitykseen
|
||||
‣ <b>Avoin ja läpinäkyvä päätöksenteko sekä rahoitus. Voittoa tavoittelematon ja täysin avoimeen lähdekoodiin perustuva.</b>
|
||||
|
||||
<b>Tärkeimmät ominaisuudet</b>:
|
||||
• Ladattavat yksityiskohtaiset kartat paikoista, joita ei löydy edes Google Maps:sta
|
||||
• Ulkoilutila, josta löytyy korostettuna reitit, leirintäpaikat, vesipisteet, huiput ja korkeuserot yms.
|
||||
• Kävely- ja pyörätiet
|
||||
• Kiinnostavat paikat, kuten ravintolat, huoltoasemat, hotellit, kaupat, nähtävyydet ja monta muuta
|
||||
• Etsi nimellä, osoitteella tai kiinnostavan paikan kategorialla
|
||||
• Navigointi ääni-ilmoituksilla kävellessä, pyöräillessä tai ajaessa
|
||||
• Tallenna suosikkipaikkasi yhdellä napautuksella
|
||||
• Offline Wikipedia-artikkelit
|
||||
• Maanalaisen liikenteen tasot ja ohjeet
|
||||
• Reittien tallennus
|
||||
• Tuo ja vie kirjanmerkkejä ja reittejä KML-, KMZ- ja GPX-formaateissa
|
||||
• Tumma tila iltaa ja yötä varten
|
||||
• Paranna karttadataa kaikille sisäänrakennetulla editorilla
|
||||
|
||||
<b>Vapaus on täällä</b>
|
||||
Löydä matkasi ja navigoi maailmalla yksityisyyden ja yhteisön tukemana!
|
||||
@@ -1 +0,0 @@
|
||||
Helppo karttanavigointi - Löydä lisää matkaltasi - Yhteisön voimin
|
||||
@@ -1 +0,0 @@
|
||||
CoMaps - Navigoi ilman verkkoyhteyttä yksityisesti
|
||||
@@ -1,32 +0,0 @@
|
||||
Une application cartographique créée par la communauté, gratuite et open source basée sur les données OpenStreetMap et engagée pour la transparence, le respect de la vie privée et son but non lucratif.
|
||||
|
||||
Lisez-en plus sur le projet et sa direction sur <b><i>codeberg.org/comaps</i></b>.
|
||||
Rejoignez la communauté et aidez-nous à créer la meilleure application de navigation
|
||||
• Utilisez l'application et faites-la connaître
|
||||
• Donnez-nous votre avis et signalez les problèmes
|
||||
• Corrigez la carte dans l'application ou sur le site web d'OpenStreetMap
|
||||
|
||||
‣ <b>Centrée sur le hors-ligne</b> : Planifiez et effectuez votre trajet à l'étranger sans avoir besoin de réseau mobile, recherchez des points de passage lors d'une randonnée lointaine, etc. Toutes les fonctionnalités de l'application sont faites pour fonctionner hors-ligne.
|
||||
‣ <b>Respecte la vie privée</b> : L'application est conçue avec la vie privée en tête - elle n'identifie pas ses utilisateurs, ne les piste pas et ne collecte pas d'informations personnelles. Sans pub.
|
||||
‣ <b>Simple et soignée</b> : des fonctionnalités faciles à utiliser, essentielles et qui fonctionnent.
|
||||
‣ <b>Économise votre batterie et votre stockage</b> : Ne vide pas votre batterie comme les autres applications de navigation. Les cartes compactes économisent de l'espace sur votre téléphone.
|
||||
‣ <b>Gratuit et créé par la communauté</b> : Des gens comme vous ont aidé à créer l'application en ajoutant des lieux sur OpenStreetMap, en la testant, en donnant leur avis sur les fonctionnalités et en contribuant au développement et aux frais financiers.
|
||||
‣ <b>Prises de décisions et comptes clairs et transparents, but non lucratif et complètement open source.</b>
|
||||
|
||||
<b>Fonctionnalités principales :</b>
|
||||
• Cartes détaillées téléchargeables avec des lieux non disponibles sur Google Maps
|
||||
• Mode extérieur avec sentiers de randonnée, campings, sources d'eau, sommets, courbes de niveau, etc. surlignés
|
||||
• Chemins piétons et pistes cyclables
|
||||
• Points d'intérêt comme des restaurants, stations-service, hôtels, magasins, lieux touristiques et bien plus
|
||||
• Recherche par nom, adresse ou catégorie de point d'intérêt
|
||||
• Navigation avec annonces vocales pour la marche, le vélo ou la conduite
|
||||
• Mettez en favori vos lieux préférés en un seul clic
|
||||
• Articles Wikipédia hors-ligne
|
||||
• Plan de métro et indications pour s'y rendre
|
||||
• Enregistrement des parcours
|
||||
• Exportez et importez vos favoris aux formats KML, KMZ et GPX
|
||||
• Mode sombre pour utiliser pendant la nuit
|
||||
• Amélioration de la carte par tout le monde avec un éditeur simple intégré
|
||||
|
||||
<b>La liberté est ici</b>
|
||||
Découvrez votre voyage, naviguez dans le monde en plaçant la vie privée et la communauté au premier plan !
|
||||
|
After Width: | Height: | Size: 737 KiB |
|
Before Width: | Height: | Size: 655 KiB |
|
After Width: | Height: | Size: 765 KiB |
|
Before Width: | Height: | Size: 532 KiB |
|
After Width: | Height: | Size: 735 KiB |
|
Before Width: | Height: | Size: 391 KiB |
|
After Width: | Height: | Size: 594 KiB |
|
Before Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 254 KiB |
|
Before Width: | Height: | Size: 263 KiB |
@@ -1,8 +0,0 @@
|
||||
Correctif: correction du plantage de l'application au démarrage sur Android 5-7
|
||||
|
||||
Présentation du logo CoMaps !
|
||||
• Amélioration des courbes d’altitude à une précision de 20 ou 50 mètres pour de nombreuses régions
|
||||
• Ajout d'un lien vers les images Panoramax des POI
|
||||
• Données OpenStreetMap du 13 juillet
|
||||
• Affichage de l’état des heures d’ouverture lors de la sélection d’un POI
|
||||
• Outdoors: Améliorations de la visibilité des courbes d'altitude
|
||||
@@ -1 +0,0 @@
|
||||
Navigation cartographique facile - Découvrez davantage de votre voyage - Propulsé par la communauté
|
||||
@@ -1 +0,0 @@
|
||||
CoMaps - Rando, vélo, conduite hors ligne & privée
|
||||
@@ -1,32 +0,0 @@
|
||||
Aplicación de mapas gratuíta, de código aberto e xestionada pola comunidade, obtén os datos desde OpenStreetMap e co compromiso reforzado coa transparencia, privacidade e non ter o beneficio económico como obxectivo. CoMaps é unha bifurcación ou derivada de Organic Maps, que pola súa parte ven sendo unha bifurcación de Maps.ME.
|
||||
|
||||
Vai a <b><i>codeberg.org/comaps</i></b> e coñece as razóns da necesidade deste proxecto e as decisións tomadas.
|
||||
Únete alí á comunidade e axuda a que teñamos a mellor aplicación de mapas
|
||||
• Usa a aplicación e dille a outras persoas que o fas
|
||||
• Informa de fallos e publica túa experiencia
|
||||
• Actualiza os datos do mapa na aplicación ou no sitio web OpenStreetMap
|
||||
|
||||
‣ <b>Sen conexión de datos</b>: planea a viaxe e sigue a ruta sen precisar unha conexión á rede móbil, busca lugares relevantes nas andainas máis longas, etc. Todas as características da aplicación están deseñadas para funcionar sen precisar conexión de datos.
|
||||
‣ <b>Respecto pola privacidade</b>: a aplicación está deseñada coa privacidade en primeiro plano - non identifica ás persoas, non te segue, non recolle información sobre ti. Non ten publicidade.
|
||||
‣ <b>Simple e organizada</b>: características esenciais, fáciles de usar e que funcionan.
|
||||
‣ <b>Aforra batería e espazo</b>: non esgota a batería como outras aplicacións de navegación. Os mapas compactos aforran espazo na memoria do dispositivo.
|
||||
‣ <b>Gratuíta e feita pola comunidade</b>: persoas coma ti que axudan a crear a aplicación engadindo lugares en OpenStreetMap, probando novas características e dando a súa opinión, colaborando ao seu desenvolvemento con código ou financiamento.
|
||||
‣ <b>Proceso de toma de decisións Aberto e Transparente para os temas económicos, Sen ánimo de lucro e totalmente de Código Aberto</b>
|
||||
|
||||
<b>Características principais</b>:
|
||||
• Mapas detallados descargables con lugares que non están dispoñibles en Google Maps
|
||||
• Modo para actividades en exterior con camiños para andainas, lugares para acampar, fontes de auga, picos dos montes, curvas de nivel, etc
|
||||
• Rutas a pé e en bicicleta
|
||||
• Puntos de interese como restaurantes, gasoliñeiras, hoteis, tendas, miradores e moitos máis
|
||||
• Busca polo nome ou polo enderezo ou por categoría do punto de interese
|
||||
• Navegación con anuncios por voz para camiñar, ir en bicicleta ou conducir
|
||||
• Marca os lugares favoritos cun só toque
|
||||
• Artigos da Wikipedia sen conexión
|
||||
• Mapas do transporte por Metro
|
||||
• Gravación das rutas
|
||||
• Exportación e Importación de marcadores e rutas nos formatos KML, KMZ e GPX
|
||||
• Modo escuro para a noite
|
||||
• Contribúe a mellorar o mapa para todas as persoas usando o editor básico incluído
|
||||
|
||||
<b>Aquí es Libre</b>
|
||||
Atopa o teu camiño, navega polo mundo con privacidade e coa comunidade como prioridade!
|
||||
@@ -1 +0,0 @@
|
||||
Navegación doada - Descubre máis sobre o teu camiño - Creada pola comunidade
|
||||
@@ -1 +0,0 @@
|
||||
CoMaps - Aplicación de mapas privada, sen conexión
|
||||
@@ -1,32 +0,0 @@
|
||||
Besplatna aplikacija otvorenog koda koju vodi zajednica i temelji se na podacima OpenStreetMap-a, usmjerana transparentnosti, privatnosti i neprofitnosti. CoMaps je fork Organic Maps aplikacije, koja je pak fork Maps.ME.
|
||||
|
||||
Pročitajte o razlozima za projekt i njegovom smjeru na <b><i>codeberg.org/comaps</i></b>.
|
||||
Pridružite se otvorenoj zajednici i pomozite izraditi najbolju aplikaciju za karte
|
||||
• Koristite aplikaciju i proširite glas o njoj
|
||||
• Dajte povratne informacije i prijavite probleme
|
||||
• Ažurirajte podatke na karti u aplikaciji ili na web stranici OpenStreetMap-a
|
||||
|
||||
‣ <b>Fokusirana na Offline rad</b>: Planirajte i upravljajte svojim putovanjem u inozemstvo bez potrebe za mobilnom uslugom, tražite putne točke dok ste na udaljenom pješačenju itd. Sve funkcije aplikacije dizajnirane su za offline rad.
|
||||
‣ <b>Poštivanje privatnosti</b>: Aplikacija je dizajnirana imajući na umu privatnost - ne identificira ljude, ne prati i ne prikuplja osobne podatke. Bez reklama.
|
||||
‣ <b>Jednostavna i dotjerana</b>: aplikacija je trivijalna za korištenje i jednostavno radi.
|
||||
‣ <b>Štedi vašu bateriju i prostor</b>: Ne troši bateriju kao druge navigacijske aplikacije. Kompaktne karte štede dragocjeni prostor na vašem telefonu.
|
||||
‣ <b>Otvorena i izrađena od strane zajednice</b>: Ljudi poput vas pomogli su izraditi aplikaciju dodavanjem lokacija na OpenStreetMap-u, testiranjem i davanjem povratnih informacija o aplikaciji te doprinoseći svojim razvojnim vještinama i novcem.
|
||||
‣ <b>Otvoreno i transparentno donošenje odluka i korištenja financija, Neprofitna i potpuno Otvorenog koda.</b>
|
||||
|
||||
<b>Glavne značajke</b>:
|
||||
• Preuzimanje detaljnih karti s lokacijama koje nisu dostupne s Google kartama
|
||||
• Karte za izlete s istaknutim pješačkim stazama, kampovima, izvorima vode, planinskim vrhovima, konturnim linijama itd.
|
||||
• Pješačke i biciklističke staze
|
||||
• Točke interesa kao što su restorani, benzinske crpke, hoteli, trgovine, vidikovci i još mnogo toga
|
||||
• Pretražujte po nazivu ili adresi ili po kategoriji interesa
|
||||
• Navigacija s glasovnim najavama za hodanje, vožnju biciklom ili automobilom
|
||||
• Obilježite svoja omiljena mjesta jednim dodirom
|
||||
• Offline članci Wikipedije
|
||||
• Tranzitni sloj podzemne željeznice sa navigacijom
|
||||
• Snimanje GPS tragova
|
||||
• Izvoz i uvoz oznaka i staza u KML, KMZ, i GPX formatima
|
||||
• Tamni način rada za korištenje tijekom noći
|
||||
• Poboljšajte kartu za sve korisnike, koristeći osnovni ugrađeni uređivač karte
|
||||
|
||||
<b>Sloboda je ovdje</b>
|
||||
Otkrijte svoje putovanje, navigirajte svijetom s privatnošću i zajednicom na prvom mjestu!
|
||||
@@ -1 +0,0 @@
|
||||
Jednostavna navigacija - Otkrijte više o svom putovanju - Pokreće zajednica
|
||||
@@ -1 +0,0 @@
|
||||
CoMaps - Pješačite, biciklirajte, vozite Offline i privatno
|
||||
@@ -1 +0,0 @@
|
||||
CoMaps - Túra, Bicikli, Vezetés offline diszkréten
|
||||