yandex_mapkit 0.3.4
yandex_mapkit #
A flutter plugin for displaying yandex maps on iOS and Android. Now fully integrated with flutters widget tree.
Disclaimer: This project uses Yandex Mapkit which belongs to Yandex
When using Mapkit refer to these terms of use
Getting Started #
Generate your API Key #
- Go to https://developer.tech.yandex.com
- Create a
MapKit mobile SDK
key
Initializing for iOS #
- Add
import YandexMapKit
toios/Runner/AppDelegate.swift
- Add
YMKMapKit.setApiKey("YOUR_API_KEY")
insidefunc application
inios/Runner/AppDelegate.swift
- Specify your API key in the application delegate
ios/Runner/AppDelegate.swift
ios/Runner/AppDelegate.swift
:
import UIKit
import Flutter
import YandexMapKit
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?
) -> Bool {
YMKMapKit.setApiKey("YOUR_API_KEY")
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
Initializing for Android #
- Add dependency
implementation 'com.yandex.android:mapkit:3.4.0'
toandroid/app/build.gradle
- Add
import com.yandex.mapkit.MapKitFactory;
toandroid/app/src/main/.../MainActivity.java
- Add
MapKitFactory.setApiKey("YOUR_API_KEY");
inside methodonCreate
inandroid/app/src/main/.../MainActivity.java
- Specify your API key in the application delegate
android/app/src/main/.../MainActivity.java
android/app/build.gradle
:
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'com.yandex.android:mapkit:3.4.0'
}
android/app/src/main/.../MainActivity.java
:
import io.flutter.app.FlutterActivity;
import io.flutter.plugins.GeneratedPluginRegistrant;
import com.yandex.mapkit.MapKitFactory;
public class MainActivity extends FlutterActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MapKitFactory.setApiKey("YOUR_API_KEY");
GeneratedPluginRegistrant.registerWith(this);
}
}
Usage #
Example:
import 'package:yandex_mapkit/yandex_mapkit.dart';
void main() async {
runApp(MyApp());
}
You can use a YandexMap
which resizes itself to its parent size
Expanded(child: YandexMap())
For usage examples refer to example app
Features #
- [X] iOS Support
- [X] Android Support
- [X] Add and remove Placemarks
- [X] Receive Placemark tap events
- [X] Moving around the map
- [X] Setting map bounds
- [X] Showing current user location
- [X] Styling the map
0.3.4 #
- Add getting target point(center point) [#27, Ishokov-Dzhafar]
0.3.3 #
- Add linter and fix linter errors[#23, vanyasem]
- Add location permission request messages to example app[#23, vanyasem]
- Update and lock YandexMapkit version to 3.4 for iOS and Android[#23, vanyasem]
- Update .gitignore[#25, DCrow]
- Fix typos in README[#23, vanyasem]
0.3.2 #
- Add styling functionality [#18, vanyasem]
0.3.1 #
- Fix
YandexMapController.addPlacemark
sometimes not working on iOS [#13, Ishokov-Dzhafar] - Remove unused code
0.3.0 #
- Breaking change. Changed iOS and Android Mapkit key initialization
0.2.1 #
- Add zoom functionality [#10, Ishokov-Dzhafar]
0.2.0 #
- Breaking change. Migrate from the deprecated original Android Support Library to AndroidX.
0.1.3+2 #
- Fix some of pub.dartlang.com suggestions
- Fix Xcode 10.1 SWIFT_VERSION error
0.1.3+1 #
- Lock YandexRuntime to 3.2 (https://github.com/Unact/yandex_mapkit/issues/3)
0.1.3 #
- Bump YandexMapkit version to 3.2 for ios and android
0.1.2 #
- Change ios implementation to use
UiKitView
- Change
AnroidView.gestureRecognizers
to accept all gestures - Change method signature
Future<Null>
toFuture<void>
0.1.1 #
- Bugfixes
0.1.0 #
- Change android implementation to use
AndroidView
- Change ios implementation to match android
0.0.2 #
- Add functionality to show/hide current user location
0.0.1 #
- Initial release
yandex_mapkit_example #
Demonstrates how to use the yandex_mapkit plugin.
Getting Started #
For help getting started with Flutter, view our online documentation.
Use this package as a library
1. Depend on it
Add this to your package's pubspec.yaml file:
dependencies:
yandex_mapkit: ^0.3.4
2. Install it
You can install packages from the command line:
with Flutter:
$ flutter pub get
Alternatively, your editor might support flutter pub get
.
Check the docs for your editor to learn more.
3. Import it
Now in your Dart code, you can use:
import 'package:yandex_mapkit/yandex_mapkit.dart';
Popularity:
Describes how popular the package is relative to other packages.
[more]
|
74
|
Health:
Code health derived from static analysis.
[more]
|
100
|
Maintenance:
Reflects how tidy and up-to-date the package is.
[more]
|
100
|
Overall:
Weighted score of the above.
[more]
|
87
|
We analyzed this package on Dec 9, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:
- Dart: 2.6.1
- pana: 0.13.1+4
- Flutter: 1.12.13+hotfix.2
Health suggestions
Fix lib/src/yandex_map_controller.dart
. (-0.50 points)
Analysis of lib/src/yandex_map_controller.dart
reported 1 hint:
line 2 col 8: Unused import: 'dart:convert'.
Format lib/src/placemark.dart
.
Run flutter format
to format lib/src/placemark.dart
.
Format lib/src/yandex_map.dart
.
Run flutter format
to format lib/src/yandex_map.dart
.
Format lib/yandex_mapkit.dart
.
Run flutter format
to format lib/yandex_mapkit.dart
.
Dependencies
Package | Constraint | Resolved | Available |
---|---|---|---|
Direct dependencies | |||
Dart SDK | >=2.0.0-dev.68.0 <3.0.0 | ||
flutter | 0.0.0 | ||
Transitive dependencies | |||
collection | 1.14.11 | 1.14.12 | |
meta | 1.1.8 | ||
sky_engine | 0.0.99 | ||
typed_data | 1.1.6 | ||
vector_math | 2.0.8 |