yandex_mapkit 0.3.4

  • Readme
  • Changelog
  • Example
  • Installing
  • 87

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 #

  1. Go to https://developer.tech.yandex.com
  2. Create a MapKit mobile SDK key

Initializing for iOS #

  1. Add import YandexMapKit to ios/Runner/AppDelegate.swift
  2. Add YMKMapKit.setApiKey("YOUR_API_KEY") inside func application in ios/Runner/AppDelegate.swift
  3. 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 #

  1. Add dependency implementation 'com.yandex.android:mapkit:3.4.0' to android/app/build.gradle
  2. Add import com.yandex.mapkit.MapKitFactory; to android/app/src/main/.../MainActivity.java
  3. Add MapKitFactory.setApiKey("YOUR_API_KEY"); inside method onCreate in android/app/src/main/.../MainActivity.java
  4. 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 #

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> to Future<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

example/README.md

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
Learn more about scoring.

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