Metodo static?

Oi eu tô com o seguinte problema:

eu tenho um mapTree que contem objetos que tem dois parametros : latitude e longitude.
Eu tenho um metodo que resgata todas as latitudes e longitudes desses objetos dentro de um laço for. Eu preciso que dentro desse laço, eu consiga chamar outro metodo que retorna um boleano… soh que eu não tô conseguindo pq ele diz q o meu metodo não é estatico… mas eu não entendi o pq eu não posso fazer isso…

public static void printTreeMap(TreeMap treeMap) {
        Set<String> keys = treeMap.keySet();
        String latitude;
        String longitude;
               for (String key : keys) {
                       Airport airport = (Airport)treeMap.get(key);
                       latitude=airport.getLat();
                       longitude=airport.getLon();
                      myPosition(latitude, longitude)// aqui ocorre o erro.. fala q o metodo myPosition não é estatico e não pode ser definido
     
               }
               
    }

public boolean myPosition(String latitude, String longitude){
          double lon= metodos.strLon(longitude);
          double lat= metodos.strLat(latitude);
          double xt=metodos.getMyXT(lon);
          double yt=metodos.getMyYT(lon);
          double xb=metodos.getMyXB(lon);
          double yb=metodos.getMyYB(lon);
          double tl= metodos.convertedValues(metodos.getTopLat());
          double bl=metodos.convertedValues(metodos.getBotLat());
          double x = metodos.linInt(lat, tl, bl, xt, xb);
          double y = metodos.linInt(lat, tl, bl, yt, yb);
          BigDecimal newValueX = new BigDecimal(String.valueOf(x), new MathContext(String.valueOf(x).indexOf("."),RoundingMode.HALF_EVEN));
          BigDecimal newValueY = new BigDecimal(String.valueOf(y), new MathContext(String.valueOf(y).indexOf("."),RoundingMode.HALF_EVEN));
          int myX= newValueX.intValue();
          int myY= newValueY.intValue();
          if (isIn(myX,myY)==1) {
              return true;
          }
          else{
              return false;
          }
    }

public int isIn( int p1, int p2){
   if (p1+p2==0){ retrun 1;}
   if(p1+p2==1){retrun -1;}
   else{ return 0};
}

Obrigada

Você esta tentando acessar um método nao statico, atraves de um método statico, nao vai compilar.

Ahhh!!! Valeu!!! Entendi o meu erro!!

métodos não estáticos não podem ser chamados diretamente dentro de um método estático.
Para utilizá-lo, há duas formas.
Ou torna seu método não-estático em estático (caso ele não utilize atributos da classe ou outros métodos não-estáticos da classe)
Ou, cria um objeto dentro do método estático.

Exemplo:
Errado

[code]
class Classe {
public static int metodoEstatico() {
if(metodoDeInstancia()) {
return 1;
} else {
return 0;
}
}

public boolean metodoDeInstancia() {
return true;
}
}[/code]

1a. opção

[code]
class Classe {
public static int metodoEstatico() {
if(metodoDeInstancia()) {
return 1;
} else {
return 0;
}
}

//tornei o método estático
public static boolean metodoDeInstancia() {
return true;
}
}[/code]

2a. opção

[code]
class Classe {
public static int metodoEstatico() {
//Criei uma instância
if(new Classe().metodoDeInstancia()) {
return 1;
} else {
return 0;
}
}

public boolean metodoDeInstancia() {
return true;
}
}[/code]