Skip to content
Snippets Groups Projects
Commit 16760293 authored by Lahtinen Konsta Aleksi's avatar Lahtinen Konsta Aleksi
Browse files

ainii ja nollaus kans toimii

parent 02b52ba4
No related branches found
No related tags found
No related merge requests found
...@@ -77,7 +77,9 @@ public class HeatMapTestiGUIController implements Initializable { ...@@ -77,7 +77,9 @@ public class HeatMapTestiGUIController implements Initializable {
System.out.println(answer); System.out.println(answer);
String paikka = answer.toLowerCase().replace(' ', '+').replace('ä','a').replace('ö','o'); String paikka = answer.toLowerCase().replace(' ', '+').replace('ä','a').replace('ö','o');
System.out.println(paikka); System.out.println(paikka);
//Valmistellaan paikka poistamalla skandit ja laittamalla se pieniin kirjaimiin
String urlJono = "https://nominatim.openstreetmap.org/search?q=" +paikka +"+Suomi" +"&format=json"; String urlJono = "https://nominatim.openstreetmap.org/search?q=" +paikka +"+Suomi" +"&format=json";
//Lisätään vielä suomi jokaiseen api kutsuun, jotta vältytään tilanteelta, missä saadaan kaksi eri maasta olevaa paikkaa
URI uri = new URI(urlJono); URI uri = new URI(urlJono);
URL url = uri.toURL(); URL url = uri.toURL();
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); HttpURLConnection connection = (HttpURLConnection) url.openConnection();
...@@ -89,6 +91,7 @@ public class HeatMapTestiGUIController implements Initializable { ...@@ -89,6 +91,7 @@ public class HeatMapTestiGUIController implements Initializable {
content.append(inputLine); content.append(inputLine);
} }
in.close(); in.close();
//Luetaan palautettu viesti
System.out.println(content); System.out.println(content);
String[] split = content.toString().split(","); String[] split = content.toString().split(",");
String[] coords = new String[2]; String[] coords = new String[2];
...@@ -102,17 +105,21 @@ public class HeatMapTestiGUIController implements Initializable { ...@@ -102,17 +105,21 @@ public class HeatMapTestiGUIController implements Initializable {
coords[1] = s; coords[1] = s;
} }
//haetaan koordinaatit viestistä "," merkki jakoi jonon parhaiten
} }
String[] lat = coords[0].split(":"); String[] lat = coords[0].split(":");
String[] lon = coords[1].split(":"); String[] lon = coords[1].split(":");
//Koordinaatissa oli vielä lon:62 joten täytyy saada vain numero
double lng = Double.parseDouble(lon[1].replace("\"","")); double lng = Double.parseDouble(lon[1].replace("\"",""));
double la = Double.parseDouble(lat[1].replace("\"","")); double la = Double.parseDouble(lat[1].replace("\"",""));
double tunlat = 61; double tunlat = 61;
double tunlon = 25.7; double tunlon = 25.7;
double liikex = 32.15; double liikex = 32.15;
double liikey = 71.45; double liikey = 71.45;
//Yllä tunnetut koordinaatit sekä yhden lat/lon yksikön liike kartalla
int x = (int) (300 + (lng - tunlon) * liikex); int x = (int) (300 + (lng - tunlon) * liikex);
int y = (int) (670 - (la - tunlat) * liikey); int y = (int) (670 - (la - tunlat) * liikey);
//300 ja 670 olivat tunnetun koordinaattien pikseli kartalla
if(piirraKuvaan(x,y)){ if(piirraKuvaan(x,y)){
Dialogs.showMessageDialog("Kuva päivitettiin käynnistä sovellus uudestaan, jotta näet päivitykset"); Dialogs.showMessageDialog("Kuva päivitettiin käynnistä sovellus uudestaan, jotta näet päivitykset");
} }
...@@ -124,17 +131,19 @@ public class HeatMapTestiGUIController implements Initializable { ...@@ -124,17 +131,19 @@ public class HeatMapTestiGUIController implements Initializable {
} }
private boolean piirraKuvaan(int x, int y) { private boolean piirraKuvaan(int x, int y) {
try{ try{
kuva.setImage(null); kuva.setImage(null);
//Poistetaan kuva käytöst hetkeksi, jotta voimme piirtää siihen
File file = new File(System.getProperty("user.dir") +"/src/media/UusiKarttakopio.png"); File file = new File(System.getProperty("user.dir") +"/src/media/UusiKarttakopio.png");
BufferedImage kartta = ImageIO.read(file); BufferedImage kartta = ImageIO.read(file);
Graphics2D sivellin = kartta.createGraphics(); Graphics2D sivellin = kartta.createGraphics();
sivellin.setColor(Color.BLACK); sivellin.setColor(Color.BLACK);
sivellin.fillOval(x - 10, y - 10, 20, 20); sivellin.fillOval(x - 10, y - 10, 20, 20);
sivellin.dispose(); sivellin.dispose();
//Piirretään kuvaan koordinaatteihin piste, -10, jotta säde saadaan oikein
File uusi = new File(System.getProperty("user.dir")+"/src/media/UusiKarttakopio.png"); File uusi = new File(System.getProperty("user.dir")+"/src/media/UusiKarttakopio.png");
if(uusi.exists()){ if(uusi.exists()){
System.out.println("tiedosto luotu"); System.out.println("tiedosto luotu");
...@@ -143,6 +152,7 @@ public class HeatMapTestiGUIController implements Initializable { ...@@ -143,6 +152,7 @@ public class HeatMapTestiGUIController implements Initializable {
kuva.setImage(i); kuva.setImage(i);
return true; return true;
} }
//tallennetaan uusi versio kuvasta vanhan päälle ja asetetaan kuva takaisin (toisaalta javafx ei taida lukea kuin kerran kuvan joten ei ehkä tarvitsisi tehdä)
return false; return false;
} catch (IOException e) { } catch (IOException e) {
...@@ -154,5 +164,6 @@ public class HeatMapTestiGUIController implements Initializable { ...@@ -154,5 +164,6 @@ public class HeatMapTestiGUIController implements Initializable {
public void initialize(URL url, ResourceBundle resourceBundle) { public void initialize(URL url, ResourceBundle resourceBundle) {
Image kuva = new Image("/media/UusiKarttakopio.png"); Image kuva = new Image("/media/UusiKarttakopio.png");
this.kuva.setImage(kuva); this.kuva.setImage(kuva);
//Asetetaan kuva
} }
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment