1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package data;
- import org.json.JSONArray;
- import org.json.JSONObject;
- import main.Bot;
- public class AddresseToGPS {
- private String adresse;
-
- public static final String NOMINATUM = "https://nominatim.openstreetmap.org/search/";
- public static final String FORMAT = "json";
- public static final int LIMIT = 3;
- private Bot bot;
-
- public class Lieu{
- public final String DisplayName;
- public final Coordinates coordonees;
- public Lieu(String displayName, Coordinates coordonees) {
- super();
- DisplayName = displayName;
- this.coordonees = coordonees;
- }
- public Lieu(JSONObject jo) {
- super();
- DisplayName = jo.getString("display_name");
- this.coordonees = new Coordinates(jo.getDouble("lat"), jo.getDouble("lon"));
- }
- }
-
- public AddresseToGPS(String adresse, Bot b) {
- this.adresse = adresse;
- this.bot = b;
- }
-
- public String getAddressToQuerry() {
- return NOMINATUM+adresse+"?format="+FORMAT+"&limit="+LIMIT;
- }
- public Coordinates getCoordinates() throws MultiplePossibleAddressException {
- Lieu l = getLieu();
- return l.coordonees;
- }
-
-
- public Coordinates getCoordinatesWithChoiceForced(int choice) {
- Lieu l = getLieuWithChoiceForced(choice);
- return l.coordonees;
- }
-
-
- public Lieu getLieu() throws MultiplePossibleAddressException {
- String get = ISPDAO.getInstance().executeGet(getAddressToQuerry());
- JSONArray ja = new JSONArray(get);
- if(ja.length()<1) {
- return null;
- }else if(ja.length()>1) {
- int len = ja.length();
- Lieu[] l = new Lieu[len];
- for(int i=0;i<len;++i) {
- l[i]=new Lieu(ja.getJSONObject(i));
- }
- throw new MultiplePossibleAddressException(l, adresse);
- }else {
- Lieu l = new Lieu(ja.getJSONObject(0));
- return l;
- }
- }
-
- public Lieu getLieuWithChoiceForced(int choice) {
-
- String get = ISPDAO.getInstance().executeGet(getAddressToQuerry());
- JSONArray ja = new JSONArray(get);
- JSONObject jo = ja.getJSONObject(choice);
- if(jo == null) {
- return null;
- }
- Lieu l = new Lieu(jo);
- return l;
-
- }
- }
|