48 lines
1.3 KiB
Dart
48 lines
1.3 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 RogEventService {
|
|
|
|
static Future<List<GeoJsonFeature?>> loadRogEvents() async {
|
|
|
|
List<GeoJsonFeature?> pts = <GeoJsonFeature>[];
|
|
|
|
final geo = GeoJson();
|
|
|
|
geo.processedFeatures.listen((GeoJsonFeature feature) {
|
|
//GeoJsonMultiPoint g = feature.geometry;
|
|
//print(g.geoSerie!.geoPoints.first.longitude);
|
|
//print(<GeoJsonMultiPoint>feature.geometry);
|
|
pts.add(feature);
|
|
});
|
|
|
|
geo.endSignal.listen((_) => geo.dispose());
|
|
|
|
String url = 'http://localhost:8100/api/v1/rog/';
|
|
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 pts;
|
|
} else {
|
|
throw Exception('Failed to create album.');
|
|
}
|
|
}
|
|
|
|
|
|
} |