make packages for dart and npm

This commit is contained in:
Hamza-Ayed
2026-04-16 17:48:43 +03:00
parent 9f2a03a979
commit 34dd9ee35a
21 changed files with 1292 additions and 56 deletions
@@ -0,0 +1,57 @@
import 'package:flutter/material.dart';
import 'package:maplibre_gl/maplibre_gl.dart';
import 'intaleq_map_controller.dart';
import 'styles.dart';
typedef MapCreatedCallback = void Function(IntaleqMapController controller);
class IntaleqMap extends StatefulWidget {
final String apiKey;
final String? styleUrl;
final LatLng initialPosition;
final double initialZoom;
final MapCreatedCallback? onMapCreated;
final bool myLocationEnabled;
const IntaleqMap({
super.key,
required this.apiKey,
this.styleUrl,
this.initialPosition = const LatLng(33.5138, 36.2765),
this.initialZoom = 14.0,
this.onMapCreated,
this.myLocationEnabled = false,
});
@override
State<IntaleqMap> createState() => _IntaleqMapState();
}
class _IntaleqMapState extends State<IntaleqMap> {
IntaleqMapController? _intaleqController;
@override
Widget build(BuildContext context) {
final style = widget.styleUrl ?? IntaleqStyles.obsidian(widget.apiKey);
return MaplibreMap(
onMapCreated: (MaplibreMapController controller) {
_intaleqController = IntaleqMapController(
mapController: controller,
apiKey: widget.apiKey,
);
if (widget.onMapCreated != null) {
widget.onMapCreated!(_intaleqController!);
}
},
styleString: style,
initialCameraPosition: CameraPosition(
target: widget.initialPosition,
zoom: widget.initialZoom,
),
myLocationEnabled: widget.myLocationEnabled,
compassEnabled: false,
trackCameraPosition: true,
);
}
}