Skip to content

Commit ccdbb7c

Browse files
committed
Initiated Nextbillion.ai Maps Flutter SDK
0 parents  commit ccdbb7c

File tree

224 files changed

+31252
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

224 files changed

+31252
-0
lines changed

.github/workflows/ci.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Nextbillion Maps Flutter CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout code
16+
uses: actions/checkout@v2
17+
18+
- name: Setup Flutter
19+
uses: subosito/flutter-action@v2
20+
with:
21+
flutter-version: "3.22.0"
22+
23+
- name: Install dependencies
24+
run: flutter pub get
25+
26+
- name: Run analyzer
27+
run: flutter analyze lib
28+
29+
- name: Run tests with coverage
30+
run: |
31+
flutter test --coverage
32+
33+
- name: Upload coverage to Codecov
34+
uses: codecov/codecov-action@v2
35+
with:
36+
files: coverage/lcov.info
37+
flags: unittests
38+
name: codecov-report
39+
fail_ci_if_error: true
40+
token: ${{ secrets.CODECOV_TOKEN }}

.gitignore

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# Miscellaneous
2+
*.class
3+
*.lock
4+
*.log
5+
*.pyc
6+
*.swp
7+
.DS_Store
8+
.atom/
9+
.buildlog/
10+
.history
11+
.svn/
12+
.fvm/
13+
14+
# IntelliJ related
15+
*.iml
16+
*.ipr
17+
*.iws
18+
.idea/
19+
build/
20+
21+
# Visual Studio Code related
22+
.classpath
23+
.project
24+
.settings/
25+
.vscode/
26+
27+
# Flutter repo-specific
28+
/bin/cache/
29+
/bin/mingit/
30+
/dev/benchmarks/mega_gallery/
31+
/dev/bots/.recipe_deps
32+
/dev/bots/android_tools/
33+
/dev/docs/doc/
34+
/dev/docs/flutter.docs.zip
35+
/dev/docs/lib/
36+
/dev/docs/pubspec.yaml
37+
/dev/integration_tests/**/xcuserdata
38+
/dev/integration_tests/**/Pods
39+
/packages/flutter/coverage/
40+
version
41+
42+
# packages file containing multi-root paths
43+
.packages.generated
44+
45+
# Flutter/Dart/Pub related
46+
**/doc/api/
47+
.dart_tool/
48+
.flutter-plugins
49+
.flutter-plugins-dependencies
50+
.packages
51+
.pub-cache/
52+
.pub/
53+
flutter_*.png
54+
linked_*.ds
55+
unlinked.ds
56+
unlinked_spec.ds
57+
58+
# Android related
59+
**/android/**/gradle-wrapper.jar
60+
**/android/.gradle
61+
**/android/captures/
62+
**/android/gradlew
63+
**/android/gradlew.bat
64+
**/android/local.properties
65+
**/android/**/GeneratedPluginRegistrant.java
66+
**/android/key.properties
67+
*.jks
68+
69+
# iOS/XCode related
70+
**/ios/**/*.mode1v3
71+
**/ios/**/*.mode2v3
72+
**/ios/**/*.moved-aside
73+
**/ios/**/*.pbxuser
74+
**/ios/**/*.perspectivev3
75+
**/ios/**/*sync/
76+
**/ios/**/.sconsign.dblite
77+
**/ios/**/.tags*
78+
**/ios/**/.vagrant/
79+
**/ios/**/DerivedData/
80+
**/ios/**/Icon?
81+
**/ios/**/Pods/
82+
**/ios/**/.symlinks/
83+
**/ios/**/profile
84+
**/ios/**/xcuserdata
85+
**/ios/.generated/
86+
**/ios/Flutter/App.framework
87+
**/ios/Flutter/Flutter.framework
88+
**/ios/Flutter/Flutter.podspec
89+
**/ios/Flutter/Generated.xcconfig
90+
**/ios/Flutter/app.flx
91+
**/ios/Flutter/app.zip
92+
**/ios/Flutter/flutter_assets/
93+
**/ios/Flutter/flutter_export_environment.sh
94+
**/ios/ServiceDefinitions.json
95+
**/ios/Runner/GeneratedPluginRegistrant.*
96+
97+
# macOS
98+
**/macos/Flutter/GeneratedPluginRegistrant.swift
99+
**/macos/Flutter/Flutter-Debug.xcconfig
100+
**/macos/Flutter/Flutter-Release.xcconfig
101+
**/macos/Flutter/Flutter-Profile.xcconfig
102+
__MACOSX/
103+
104+
# Coverage
105+
coverage/
106+
107+
# Binaries
108+
google-java-format-1.13.0-all-deps.jar
109+
swiftformat
110+
111+
# Symbols
112+
app.*.symbols
113+
114+
# Exceptions to above rules.
115+
!**/ios/**/default.mode1v3
116+
!**/ios/**/default.mode2v3
117+
!**/ios/**/default.pbxuser
118+
!**/ios/**/default.perspectivev3
119+
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
120+
!/dev/ci/**/Gemfile.lock
121+

CHANGELOG.md

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
## v1.2.0, Dec 16, 2024
2+
* Adapting to Android Gradle Plugin 8.0 Without Using the AGP Upgrading Assistant
3+
4+
## v1.1.0, Nov 28, 2024
5+
* Update Android NB Maps SDK to 1.1.5
6+
* Adapt to Android Gradle Plugin 8.0
7+
* Upgrade the compile SDK version to 34 to support Flutter SDK 3.24.0+
8+
9+
## v1.0.0, Sept 5, 2024
10+
* Pinned `NextBillionMap` dependency to version `1.1.5`.
11+
12+
## v0.4.3, Sep 4, 2024
13+
* Update Android NB Maps SDK to 1.1.4 and Update iOS NB Maps framework to 1.1.5
14+
* Modify user agent for Android and iOS
15+
* Add cross-platform info into the native user agent
16+
17+
## v0.4.2, June 6, 2024
18+
* Update Android NB Maps SDK to 1.1.3 and Update iOS NB Maps framework to 1.1.4
19+
20+
## v0.4.1, June 5, 2024
21+
* Add setUserId method to NextBillion
22+
* Add getUserId method to NextBillion
23+
* Add getNbId method to NextBillion
24+
## v0.4.0, May 29, 2024
25+
* Remove state check exception when calling methods of NextbillionMapController after the controller is disposed
26+
27+
## v0.3.5, May 7, 2024
28+
* Add result for NextBillion methods
29+
30+
## v0.3.4, May 7, 2024
31+
* Add await for some methods in controller
32+
* Support obtaining the disposed status from the controller
33+
34+
## v0.3.2, Apr 29, 2024
35+
* Update Android NB Maps SDK to 1.1.0
36+
* Update iOS NB Maps framework to 1.1.0
37+
38+
## v0.3.1, Apr 24, 2024
39+
* Throw an exception when calling methods of NextbillionMapController after the controller is disposed
40+
41+
## v0.3.0, Nov 8, 2023
42+
* Update Android NB Maps SDK to 1.0.3
43+
44+
## v0.2.0, Sept 26, 2023
45+
* Update iOS NB Maps framework to 1.0.3
46+
* Update Android NB Maps SDK to 1.0.2
47+
* Support to fit camera into bounds with multi points
48+
49+
## v0.1.6, Sept 15, 2023
50+
* Fix the animateCamera issue
51+
* When calling controller.animateCamera() within onStyleLoadedCallback
52+
53+
## v0.1.5, Aug 17, 2023
54+
* Update Android NB Maps SDK to 1.0.0
55+
* Update the default map style
56+
57+
## v0.1.4, Aug 16, 2023
58+
* Update iOS NB Maps framework to 1.0.2
59+
* Support to change the base url of map style url
60+
* Update the default map style
61+
62+
## v0.1.0, July 20, 2023
63+
* Display MapView
64+
* Camera position
65+
* Map Click Callback
66+
* OnMapLongClickCallback
67+
* MapView Created callback
68+
* Map Style loaded callback
69+
* Map Options
70+
* Map Style String
71+
* Enable Map Compass
72+
* Enable zoom/scroll/tilt/rotate gestures
73+
* Enable User Location
74+
* Config Location Tracking Mode
75+
* Config Location Render Mode
76+
* Location Component
77+
* Tracking Current location
78+
* Get Current location
79+
* OnLocationUpdate Callback
80+
* Camera API
81+
* Animate Camera
82+
* Move Camera
83+
* OnCameraTrackingDismissedCallback
84+
* OnCameraTrackingChangedCallback
85+
* OnCameraIdleCallback
86+
* Annotations View
87+
* Symbol annotation
88+
* Line annotation
89+
* Fill annotation
90+
* Circle annotation
91+
* Add Asset Image Symbol
92+
* Query Features
93+
* Customize source & layers
94+
* GeoJson Source
95+
* Image Source
96+
* Raster Source
97+
* Vector Source
98+
* Hillshade Layer
99+
* Fill Layer
100+
* Line Layer
101+
* Circle Layer
102+
* Symbol Layer
103+
* Raster Layer
104+
105+
## v0.1.4, August 16, 2023
106+
* Update iOS native framework version from 1.0.1 to 1.0.2

LICENSE

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
BSD 3-Clause License
2+
3+
Copyright (c) , NextBillion.ai
4+
5+
Redistribution and use in source and binary forms, with or without
6+
modification, are permitted provided that the following conditions are
7+
met:
8+
9+
* Redistributions of source code must retain the above copyright
10+
notice, this list of conditions and the following disclaimer.
11+
* Redistributions in binary form must reproduce the above
12+
copyright notice, this list of conditions and the following
13+
disclaimer in the documentation and/or other materials provided
14+
with the distribution.
15+
* Neither the name of copyright holder nor the names of its
16+
contributors may be used to endorse or promote products derived
17+
from this software without specific prior written permission.
18+
19+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

0 commit comments

Comments
 (0)