パッケージ、リポジトリ、アプリカテゴリを検索

GitHub リポジトリUnact/yandex_mapkit

yandex_mapkit

YandexMapkit の Flutter 実装

yandex_mapkit のプロジェクト画像
スター
137
フォーク
180
最終プッシュ(UTC)
2026/07/21
プロジェクト状態
公開中

元の README

以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。

yandex_mapkit

A flutter plugin for displaying yandex maps on iOS and Android.

Android iOS
Support SDK 26+ iOS 15+

Disclaimer: This project uses Yandex Mapkit which belongs to Yandex
When using Mapkit refer to these terms of use

Features

  • [X] Working with Placemarks/Polylines/Polygons/Circles - adding, updating, removing, tap events, styling
  • [X] Working with collections of map objects and clusters
  • [X] Setting map bounds and limiting user interactions
  • [X] Showing current user location
  • [X] Address suggestions
  • [X] Basic driving/bicycle/pedestrian routing
  • [X] Basic address direct/reverse search
  • [X] Working with geo objects
  • [X] Support for both lite and full variants

Getting Started

Generate your API Key
  1. Go to https://developer.tech.yandex.ru/services/
  2. Create a MapKit Mobile SDK key
Setup for iOS
  • Specify your API key and locale in ios/Runner/AppDelegate.swift. It should be similar to the following
import UIKit
import Flutter
import YandexMapsMobile

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    YMKMapKit.setLocale("YOUR_LOCALE") // Your preferred language. Not required, defaults to system language
    YMKMapKit.setApiKey("YOUR_API_KEY") // Your generated API key
    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}
  • Specify your desired variant of native library using environment variable YANDEX_MAPKIT_VARIANT

Available options: lite and full. navikit variant is currently not supported.
Defaults to lite.
After changing YANDEX_MAPKIT_VARIANT you need to invalidate Xcode cache using

rm -rf ~/Library/Developer/Xcode/DerivedData
Setup for Android
  • Specify your desired variant of native library.

Available options: lite and full. navikit variant is currently not supported.
Defaults to lite.

Add the following line to android/gradle.properties

yandexMapkit.variant=<YOUR_DESIRED_VARIANT>
  • Add dependency implementation 'com.yandex.android:maps.mobile:4.39.1-<YOUR_DESIRED_VARIANT>' to android/app/build.gradle
dependencies {
    implementation 'com.yandex.android:maps.mobile:4.39.1-<YOUR_DESIRED_VARIANT>'
}
  • Specify your API key and locale in your custom application class.
    If you don't have one the you can create it like so

android/app/src/main/.../MainApplication.java

import android.app.Application;

import com.yandex.mapkit.MapKitFactory;

public class MainApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        MapKitFactory.setLocale("YOUR_LOCALE"); // Your preferred language. Not required, defaults to system language
        MapKitFactory.setApiKey("YOUR_API_KEY"); // Your generated API key
    }
}

android/app/src/main/.../MainApplication.kt

import android.app.Application

import com.yandex.mapkit.MapKitFactory

class MainApplication: Application() {
  override fun onCreate() {
    super.onCreate()
    MapKitFactory.setLocale("YOUR_LOCALE") // Your preferred language. Not required, defaults to system language
    MapKitFactory.setApiKey("YOUR_API_KEY") // Your generated API key
  }
}
  • In your android/app/src/main/AndroidManifest.xml

Add permissions <uses-permission android:name="android.permission.INTERNET"/> and <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

Find application tag and replace android:name to the name of your custom application class prefixed by a dot .. In the end it should look like the following

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <application
      android:name=".MainApplication" >
Usage

For usage examples refer to example app

image

Additional remarks
Language

YandexMapkit always works with one language only.
Due to native constraints after the application is launched it can't be changed.

Android. Hybrid Composition

By default android views are rendered using Hybrid Composition.
To render the YandexMap widget on Android using Virtual Display(old composition), set AndroidYandexMap.useAndroidViewSurface to false.
Place this anywhere in your code, before using YandexMap widget.

AndroidYandexMap.useAndroidViewSurface = false;
Unact GitHub avatar
GitHub 作者

Unact ↗

言語DartJavaSwiftRubyObjective-C

カテゴリー

このリポジトリが公開するパッケージ

使用している依存関係

依存関係一覧 5 件

プロジェクトに合うリポジトリを選ぶには?

用途で絞り込み、開発状況を比較し、採用前に元のリポジトリで要件を確認しましょう。

  1. 名前・作者・説明で検索し、技術トピックで絞り込みます。
  2. スター、フォーク、最近のプッシュを比較します。スターは関心の目安であり、品質の保証ではありません。
  3. 利用前に GitHub で README、ライセンス、Issues を確認します。

情報源と管理

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗