2010-08-18 2 views
3

Я делаю некоторые вычисления математики в деятельности карты Android и мне нужно найти положение GeoPoint, который пользователь щелкнул по карте. Я понимаю, что мне нужно использовать обработчик события onTouch. Вот как это выглядит на данный момент:Как получить географическое положение щелкнутой позиции на карте?

@Override 
public boolean onTouch(View v, MotionEvent event) { 

    int action = event.getAction(); 

    if(action == MotionEvent.ACTION_DOWN) 
    { 
     GeoPoint pGoal = mapView.getProjection().fromPixels(
       (int) event.getX(), 
       (int) event.getY()); 

     DisplayInfoMessage("The screen has been touched!" + event.getX() + " AND " + event.getY() + "Latitude: "+ pGoal.getLatitudeE6()); // only for displaying test popup 

    } 
    super.onTouchEvent(event); 

    return true;   

} 

Это не делает то, что я хочу. Любая помощь или намек, по крайней мере, очень ценится!

+1

К сожалению, я просто ответил я и ответ код, который я предоставил. Я оставляю это здесь, если кому-то это понадобится. – Pavel

+0

Хорошо, мы знаем, что он не делает, но что вы код вернём? – WarrenFaith

+0

На самом деле это уже делает то, что я хотел Уоррена. Это дает мне geoPoint, основываясь на позиции щелчка пользователя. – Pavel

ответ

1

На самом деле это уже есть ответ:

@Override 
    public boolean onTouch(View v, MotionEvent event) { 

     int action = event.getAction(); 

     if(action == MotionEvent.ACTION_DOWN) 
     { 
      GeoPoint pGoal = mapView.getProjection().fromPixels(
        (int) event.getX(), 
        (int) event.getY()); 

      DisplayInfoMessage("The screen has been touched!" + event.getX() + " AND " + event.getY() + "Latitude: "+ pGoal.getLatitudeE6()); // only for displaying test popup 

     } 
     super.onTouchEvent(event); 

     return true;   

    } 
Смежные вопросы