yandex_mapkit 0.3.0

  • README.md
  • CHANGELOG.md
  • Example
  • Installing
  • Versions
  • 83

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

Initilazing 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)
  }

Initilazing for Android #

  1. Add dependency implementation 'com.yandex.android:mapkit:3.2.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.2.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

0.3.0 #

  • Breaking change. Changed iOS and Android Mapkit key initialization

0.2.1 #

  • Add zoom functionality [#20, 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.0

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';
  
Version Uploaded Documentation Archive
0.3.0 May 29, 2019 Go to the documentation of yandex_mapkit 0.3.0 Download yandex_mapkit 0.3.0 archive
0.2.1 May 20, 2019 Go to the documentation of yandex_mapkit 0.2.1 Download yandex_mapkit 0.2.1 archive
0.2.0 Apr 29, 2019 Go to the documentation of yandex_mapkit 0.2.0 Download yandex_mapkit 0.2.0 archive
0.1.3+2 Mar 29, 2019 Go to the documentation of yandex_mapkit 0.1.3+2 Download yandex_mapkit 0.1.3+2 archive
0.1.3+1 Feb 27, 2019 Go to the documentation of yandex_mapkit 0.1.3+1 Download yandex_mapkit 0.1.3+1 archive
Popularity:
Describes how popular the package is relative to other packages. [more]
69
Health:
Code health derived from static analysis. [more]
99
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
95
Overall:
Weighted score of the above. [more]
83
Learn more about scoring.

We analyzed this package on Jun 26, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.3.2
  • pana: 0.12.18
  • Flutter: 1.5.4-hotfix.2

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Health suggestions

Fix lib/yandex_mapkit.dart. (-1.49 points)

Analysis of lib/yandex_mapkit.dart reported 3 hints:

line 3 col 8: Unused import: 'dart:async'.

line 5 col 8: Unused import: 'package:flutter/material.dart'.

line 6 col 8: Unused import: 'package:flutter/services.dart'.

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/src/yandex_map_controller.dart.

Run flutter format to format lib/src/yandex_map_controller.dart.

Maintenance issues and suggestions

Support latest dependencies. (-5 points)

The version constraint in pubspec.yaml does not support the latest published versions for 1 dependency.

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
meta 1.1.6 1.1.7
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8