45 lines
1.1 KiB
Dart
45 lines
1.1 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_map/flutter_map.dart';
|
|
import 'package:geojson/geojson.dart';
|
|
import 'package:rogaining_jp/models/check_points.dart';
|
|
|
|
import 'dart:async';
|
|
import 'dart:convert';
|
|
|
|
import 'package:http/http.dart' as http;
|
|
import 'package:rogaining_jp/models/rog_event_model.dart';
|
|
import 'package:rogaining_jp/widgets/marker_popup_widget.dart';
|
|
|
|
class RogRouteService {
|
|
|
|
static Future<List<GeoJsonFeature?>> loadRogRoutes() async {
|
|
|
|
List<GeoJsonFeature?> routes = <GeoJsonFeature>[];
|
|
|
|
final geo = GeoJson();
|
|
|
|
geo.processedFeatures.listen((GeoJsonFeature feature) {
|
|
routes.add(feature);
|
|
});
|
|
|
|
geo.endSignal.listen((_) => geo.dispose());
|
|
|
|
String url = 'http://localhost:8100/api/v1/eventroute/';
|
|
final response = await http.get(Uri.parse(url),
|
|
headers: <String, String>{
|
|
'Content-Type': 'application/json; charset=UTF-8',
|
|
},
|
|
);
|
|
|
|
if (response.statusCode == 200) {
|
|
String objs = response.body;
|
|
print(objs);
|
|
await geo.parse(response.body, verbose: false);
|
|
return routes;
|
|
} else {
|
|
throw Exception('Failed to create album.');
|
|
}
|
|
}
|
|
|
|
|
|
} |