import 'dart:convert'; import 'package:geojson/geojson.dart'; import 'package:http/http.dart' as http; class LocationService{ static Future loadLocations() async { //String url = 'http://container.intranet.sumasen.net:8100/api/location/'; String url = 'http://localhost:8100/api/location/'; final response = await http.get(Uri.parse(url), headers: { 'Content-Type': 'application/json; charset=UTF-8', }, ); if (response.statusCode == 200) { return featuresFromGeoJson(utf8.decode(response.bodyBytes)); } return null; } static Future loadLocationsFor(String perfecture, String cat) async { String url = ""; if(cat.isNotEmpty){ //url = 'http://container.intranet.sumasen.net:8100/api/inperf/?perf=' + perfecture + '&cat=' + cat; url = 'http://localhost:8100/api/inperf/?perf=' + perfecture + '&cat=' + cat; } else{ //url = 'http://container.intranet.sumasen.net:8100/api/inperf/?perf=' + perfecture; url = 'http://localhost:8100/api/inperf/?perf=' + perfecture; } //print("----- url ---- ${url} --- ${cat}"); //String url = 'http://localhost:8100/api/inperf/?perf=' + perfecture + '&cat=' + cat; final response = await http.get(Uri.parse(url), headers: { 'Content-Type': 'application/json; charset=UTF-8', }, ); if (response.statusCode == 200) { GeoJsonFeatureCollection cc = await featuresFromGeoJson(utf8.decode(response.bodyBytes)); //print(cc); return cc; //featuresFromGeoJson(utf8.decode(response.bodyBytes)); } return null; } static Future loadLocationsSubFor(String subperfecture, String cat) async { String url = ""; if(cat.isNotEmpty){ //url = 'http://container.intranet.sumasen.net:8100/api/insubperf?subperf=' + subperfecture + '&cat=' + cat; url = 'http://localhost:8100/api/insubperf?subperf=' + subperfecture + '&cat=' + cat; } else{ print("------ loading location in sub----"); //url = 'http://container.intranet.sumasen.net:8100/api/insubperf?subperf=' + subperfecture; url = 'http://localhost:8100/api/insubperf?subperf=' + subperfecture; } final response = await http.get(Uri.parse(url), headers: { 'Content-Type': 'application/json; charset=UTF-8', }, ); if (response.statusCode == 200) { GeoJsonFeatureCollection cc = await featuresFromGeoJson(utf8.decode(response.bodyBytes)); //print(cc); return cc; //featuresFromGeoJson(utf8.decode(response.bodyBytes)); } return null; } static Future loadLocationsBound(double lat1, double lon1, double lat2, double lon2, double lat3, double lon3, double lat4, double lon4, String cat) async { String url = ""; print("cat is ----- ${cat}"); if(cat.isNotEmpty){ //url = 'http://container.intranet.sumasen.net:8100/api/inbound?ln1=${lon1}&la1=${lat1}&ln2=${lon2}&la2=${lat2}&ln3=${lon3}&la3=${lat3}&ln4=${lon4}&la4=${lat4}' + '&cat=' + cat; url = 'http://localhost:8100/api/inbound?ln1=${lon1}&la1=${lat1}&ln2=${lon2}&la2=${lat2}&ln3=${lon3}&la3=${lat3}&ln4=${lon4}&la4=${lat4}' + '&cat=' + cat; } else{ //url = 'http://container.intranet.sumasen.net:8100/api/inbound?ln1=${lon1}&la1=${lat1}&ln2=${lon2}&la2=${lat2}&ln3=${lon3}&la3=${lat3}&ln4=${lon4}&la4=${lat4}'; url = 'http://localhost:8100/api/inbound?ln1=${lon1}&la1=${lat1}&ln2=${lon2}&la2=${lat2}&ln3=${lon3}&la3=${lat3}&ln4=${lon4}&la4=${lat4}'; } print("----url --- ${url}"); final response = await http.get(Uri.parse(url), headers: { 'Content-Type': 'application/json; charset=UTF-8', }, ); if (response.statusCode == 500) { return GeoJsonFeatureCollection(); //featuresFromGeoJson(utf8.decode(response.bodyBytes)); } if (response.statusCode == 200) { GeoJsonFeatureCollection cc = await featuresFromGeoJson(utf8.decode(response.bodyBytes)); if(cc.collection.isEmpty){ return null; } else{ return cc; } } return null; } static Future loadCustomLocations(String cat) async { String url = ""; print("cat is ----- ${cat}"); if(cat.isNotEmpty){ //url = 'http://container.intranet.sumasen.net:8100/api/custom_area/?&cat=' + cat; url = 'http://localhost:8100/api/custom_area/?&cat=' + cat; } else{ //url = 'http://container.intranet.sumasen.net:8100/api/custom_area/'; url = 'http://localhost:8100/api/custom_area/'; } print("----url --- ${url}"); final response = await http.get(Uri.parse(url), headers: { 'Content-Type': 'application/json; charset=UTF-8', }, ); if (response.statusCode == 500) { return GeoJsonFeatureCollection(); //featuresFromGeoJson(utf8.decode(response.bodyBytes)); } if (response.statusCode == 200) { GeoJsonFeatureCollection cc = await featuresFromGeoJson(utf8.decode(response.bodyBytes)); if(cc.collection.isEmpty){ return null; } else{ return cc; } } return null; } }