dgis_flutter 0.0.3 copy "dgis_flutter: ^0.0.3" to clipboard
dgis_flutter: ^0.0.3 copied to clipboard

outdated

Plugin sdk 2gis

example/lib/main.dart

import 'dart:typed_data';
import 'dart:ui';

import 'package:dgis_flutter/dgis_flutter.dart';
import 'package:dgis_flutter/gis_map_controller.dart';
import 'package:dgis_flutter/model/gis_camera_position.dart';
import 'package:dgis_flutter/model/gis_map_object.dart';
import 'package:dgis_flutter_example/assets_constant.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {

  @override
  void initState() {
    super.initState();
  }


  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: GisScreen(),
    );
  }
}

class GisScreen extends StatefulWidget {
  const GisScreen({Key? key}) : super(key: key);

  @override
  State<GisScreen> createState() => _GisScreenState();
}

class _GisScreenState extends State<GisScreen> {
  final GisMapController controller = GisMapController();

  late final Future<List<GisMapMarker>> icons;

  @override
  void initState() {
    icons = Future.wait([
      getPngFromAsset(context, AssetPath.iconsPointGrey, 60)
    ]).then((value) => [
    GisMapMarker(icon: value[0], latitude: 52.29778, longitude: 104.29639)
    ]);
    super.initState();
  }

  Future<Uint8List> getPngFromAsset(
      BuildContext context,
      String path,
      int width,
      ) async {
    ByteData data = await DefaultAssetBundle.of(context).load(path);
    Codec codec = await instantiateImageCodec(
      data.buffer.asUint8List(),
      targetWidth: width,
    );
    FrameInfo fi = await codec.getNextFrame();
    return (await fi.image.toByteData(format: ImageByteFormat.png))!
        .buffer
        .asUint8List();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        floatingActionButton: FloatingActionButton(
          child: const Icon(Icons.add),
          onPressed: () async {
            await controller.increaseZoom(duration: 0);
          },
        ),
        body: Center(
          child: FutureBuilder<List<GisMapMarker>>(
            future: icons,
            builder: (context, snapshot){
              if(!snapshot.hasData) return const SizedBox();
              return  GisMap(
                directoryKey: 'you directory key',
                mapKey: 'you map key',
                controller: controller,
                markers: snapshot.data!,
                startCameraPosition: const GisCameraPosition(
                  latitude: 52.29778,
                  longitude: 104.29639,
                  bearing: 85.0,
                  tilt: 25.0,
                  zoom: 14.0,
                ),
              );
            },
          )),);
  }
}
8
likes
0
pub points
57%
popularity

Publisher

unverified uploader

Plugin sdk 2gis

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on dgis_flutter