void main() { String enlem = """39°52'30.38"K"""; String boylam = """38° 6'44.72"D"""; var start = DateTime.now(); int hassasiyet = 15; List konumListe = List(hassasiyet); double partWidth; double partHeight; int e; var k = 2; /* List konum = [38.11242, 39.87511];*/ List konum = [38.11242, 39.87511]; int x = 0; int y = 1; Map liste = Map(); List> tr = [ [25.00000000, 45.00000000], [45.00000000, 25.00000000] ]; /* print(dmsConvert(enlem, boylam));*/ partWidth = (tr[0][x] - tr[1][x]).abs(); partHeight = (tr[0][y] - tr[1][y]).abs(); List orjin = [tr[0][x] + (partWidth / 2) , tr[1][y] + (partHeight / 2)]; for (var i = 0; i < hassasiyet; i++) { e = bolgebelirle(konum, orjin); if (e == 1) { orjin = [orjin[x] + (partWidth / 4), orjin[y] + (partHeight / 4)]; } else if (e == 2) { orjin = [orjin[x] - (partWidth / 4), orjin[y] + (partHeight / 4)]; } else if (e == 3) { orjin = [orjin[x] - (partWidth / 4), orjin[y] - (partHeight / 4)]; } else if (e == 4) { orjin = [orjin[x] + (partWidth / 4), orjin[y] - (partHeight / 4)]; } k = k * 4; konumListe[i] = e; partHeight = partHeight / 2; partWidth = partWidth / 2; } print('${partHeight * 110000} m , ${partWidth * 110000} m'); print(k); print(konumListe.join("-").toString()); var end = DateTime.now(); print('${end.millisecondsSinceEpoch - start.millisecondsSinceEpoch} ms'); } bolgebelirle(List konum, List orjin) { int x = 0; int y = 1; if (konum[x] <= orjin[x] && konum[y] >= orjin[y]) { return 2; } else if (konum[x] >= orjin[x] && konum[y] >= orjin[y]) { return 1; } else if (konum[x] <= orjin[x] && konum[y] <= orjin[y]) { return 3; } else if (konum[x] >= orjin[x] && konum[y] <= orjin[y]) { return 4; } ; }