Installation Guide
π Quick Installation
This plugin is designed to be extremely easy to integrate. You donβt need to modify any configuration files.
For iOS:
- Add dependency in
pubspec.yaml:
dependencies:
lazarillo_maps: ^0.0.50- Install:
flutter pub get
cd ios
pod install- Done! The plugin configures itself automatically.
For Android:
- Add dependency in
pubspec.yaml:
dependencies:
lazarillo_maps:
hosted: https://dart.cloudsmith.io/lazarillo-app/lazarillo_maps/
version: 0.0.50- Install:
flutter pub get- Done! No additional configurations required.
π§ Automatic Configuration
The plugin includes automatic configurations that:
iOS:
- β Handles static dependencies automatically
- β
Configures
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES - β
Sets
DEFINES_MODULE = YES - β
Configures
BUILD_LIBRARY_FOR_DISTRIBUTION = YES - β No Podfile modifications required
Android:
- β Automatically configures SDK dependencies
- β Handles permissions automatically
- β No build.gradle modifications required
β οΈ Important Note About iOS Installation
Static Dependencies Warning
When installing pods for iOS, you will see this warning:
[!] The 'Pods-Runner' target has transitive dependencies that include statically linked binaries: (LZSDKMaps)This warning is NORMAL and EXPECTED. It appears because LZSDKMaps includes static libraries, which is standard for this type of SDK. This warning:
- β Does NOT affect functionality
- β Does NOT cause compilation errors
- β Is handled automatically by the plugin
- β Can be safely ignored
The plugin is configured to handle this automatically, so no additional configuration is needed.
iOS Podfile Configuration
The plugin automatically configures your Podfile with the following settings:
# Source configuration for Cloudsmith
source 'https://github.com/CocoaPods/Specs.git'
source 'https://dl.cloudsmith.io/public/lazarilloapp/ios/cocoapods/LZSDKMaps/index.m3u8'
# Minimum iOS version
platform :ios, '14.0'
# Post install hook for proper configuration
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'] = 'YES'
config.build_settings['DEFINES_MODULE'] = 'YES'
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
end
end
endTroubleshooting
If you have compilation issues:
- Clean project:
flutter clean
cd ios
rm -rf Pods Podfile.lock
pod install- Reopen project:
open ios/Runner.xcworkspace # iOSπ Requirements
iOS:
- iOS 14.0+
- Xcode 12.0+
- CocoaPods 1.10.0+
Android:
- Android API 24+ (Android 7.0)
- Gradle 7.0+
π― Easy Integration Features
- π§ Automatic configuration: No manual modifications required
- π± Plug-and-play: Simple and direct installation
- π‘οΈ Automatic dependency handling: Resolves conflicts automatically
- π¦ Transparent integration: Works with any Flutter project
- π« No client modifications: Doesnβt touch client project files
π Quick Usage
import 'package:lazarillo_maps/lazarillo_maps.dart';
// Initialize
final lazarilloMaps = LazarilloMaps('your-api-key');
await lazarilloMaps.initialize();
// Create map widget
final mapWidget = lazarilloMaps.getLazarilloMapWidget(
MapConfiguration(
parentPlaceId: 'your-place-id',
latitude: 40.7128,
longitude: -74.0060,
zoom: 15,
),
(mapId) => print('Map ready: $mapId'),
);π Support
If you have issues:
- Verify you meet minimum requirements
- Run
flutter cleanand reinstall - Check compilation logs
- Contact support at lazarillo.appΒ
Last updated on