| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import 'dart:typed_data';
- import 'package:flutter/material.dart';
- import 'package:trackoffical_app/appcore/map_package.dart';
- import 'package:trackoffical_app/utils.dart';
- import 'package:trackoffical_app/pb.dart' as pb;
- import 'package:trackoffical_app/model/m_position.dart' as m;
- class GameMap {
- String url = '';
- Uint8List md5 = Uint8List(0);
- Uint8List? data;
- Uint8List? pic;
- MapPackage? mapPackage;
- double width = 0;
- double height = 0;
- bool isLoaded = false;
- Distance mapWidth=0.meter;
- String? get md5Hex {
- if (md5.isEmpty) {
- return null;
- } else {
- return md5.toHexString();
- }
- }
- Future<Offset> worldToPixel(m.MPosition position) async{
- var d = await mapPackage?.positionToPic(position);
- return d?? Offset.zero;
- }
- Future<m.MPosition> pixelToWorld(Offset offset) async{
- final d = await mapPackage?.picToPosition(offset);
- return d??m.MPosition();
- }
- }
- extension PbNetImageExtension2 on pb.NetImage {
- GameMap toGameMap() {
- return GameMap()
- ..url = url
- ..md5 = Uint8List.fromList(md5);
- }
- }
|