Un plugin flutter pour afficher des cartes Yandex sur iOS et Android.
Android | iOS | |
---|---|---|
Soutien | Kit de développement logiciel 21+ | iOS 12+ |
Clause de non-responsabilité: Ce projet utilise Yandex Mapkit qui appartient à Yandex Lors de l’utilisation de Mapkit, reportez-vous à ces conditions d’utilisation
Commencer
Générez votre clé API
Initialisation pour iOS
- Ajouter
import YandexMapsMobile
pourios/Runner/AppDelegate.swift
- Ajouter
YMKMapKit.setApiKey("YOUR_API_KEY")
à l’intérieurfunc application
dansios/Runner/AppDelegate.swift
- Spécifiez votre clé API dans le délégué de l’application
ios/Runner/AppDelegate.swift
- Décommenter
platform :ios, '9.0'
dansios/Podfile
et changer pourplatform :ios, '12.0'
ios/Runner/AppDelegate.swift
:
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)
}
}
Initialisation pour Android
- Ajouter une dépendance
implementation 'com.yandex.android:maps.mobile:4.2.2-full'
pourandroid/app/build.gradle
- Ajouter des autorisations
<uses-permission android:name="android.permission.INTERNET"/>
et<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
pourandroid/app/src/main/AndroidManifest.xml
- Ajouter
import com.yandex.mapkit.MapKitFactory;
pourandroid/app/src/main/.../MainActivity.java
/android/app/src/main/.../MainActivity.kt
MapKitFactory.setApiKey("YOUR_API_KEY");
méthode intérieureonCreate
dansandroid/app/src/main/.../MainActivity.java
/android/app/src/main/.../MainActivity.kt
- Spécifiez votre clé API dans le délégué de l’application
android/app/src/main/.../MainActivity.java
/android/app/src/main/.../MainActivity.kt
android/app/build.gradle
:
dependencies {
implementation 'com.yandex.android:maps.mobile:4.2.2-full'
}
Pour les projets Java
android/app/src/main/.../MainActivity.java
:
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugins.GeneratedPluginRegistrant;
import com.yandex.mapkit.MapKitFactory;
public class MainActivity extends FlutterActivity {
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
MapKitFactory.setLocale("YOUR_LOCALE"); // Your preferred language. Not required, defaults to system language
MapKitFactory.setApiKey("YOUR_API_KEY"); // Your generated API key
super.configureFlutterEngine(flutterEngine);
}
}
Pour les projets Kotlin
android/app/src/main/.../MainActivity.kt
import androidx.annotation.NonNull
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant
import com.yandex.mapkit.MapKitFactory
class MainActivity: FlutterActivity() {
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
MapKitFactory.setLocale("YOUR_LOCALE") // Your preferred language. Not required, defaults to system language
MapKitFactory.setApiKey("YOUR_API_KEY") // Your generated API key
super.configureFlutterEngine(flutterEngine)
}
}
Usage
Pour des exemples d’utilisation, reportez-vous à l’exemple application
Remarque additionnelle
YandexMapkit fonctionne toujours avec une langue seul. En raison de contraintes natives après le lancement de l’application, il ne peut pas être modifié.
Android
Composition hybride
Par défaut, les vues Android sont rendues à l’aide Composition hybride. Pour rendre le YandexMap
widget sur Android utilisant Virtual Display (ancienne composition), définissez AndroidYandexMap.useAndroidViewSurface sur false. Placez ceci n’importe où dans votre code, avant d’utiliser YandexMap
widget.
AndroidYandexMap.useAndroidViewSurface = false;
Caractéristiques
- Travailler avec des repères/polylignes/polygones/cercles – ajout, mise à jour, suppression, événements tactiles, style
- Travailler avec des collections d’objets cartographiques
- Travailler avec des grappes
- Se déplacer sur la carte
- Définir les limites de la carte
- Affichage de l’emplacement actuel de l’utilisateur
- Styliser la carte
- Suggestions d’adresses
- Itinéraire de base en voiture/vélo
- Recherche directe/inverse d’adresse de base
- Travailler avec des objets géographiques
- Affichage des conditions de circulation actuelles
GitHub
Voir Github