0

Я делаю GPS-приложение на своем телефоне с помощью SDK Goggle Maps. Я хотел бы добавить функцию, позволяющую пользователю получить широту и долготу для конкретной точки, просто нажав эту точку на экране.GPS-путевая точка широта и долгота

Примером может быть, если есть «что это?». вроде функции, как на Картах Google, но по версии телефона? И как мне это сделать в коде?

+1

Итак, если я понимаю ваш вопрос, у вас уже есть Карты Google в вашем приложении, и вы просто хотите найти лат/длинный щелчок, верно? – Tushar

+0

Да, приложение уже на моем телефоне, и я хотел бы найти lat/long на нажатие кнопки/экрана – Hawkhunter

+0

Я все еще смущен. Приложение Google Maps на вашем телефоне, или у вашего приложения есть SDK Google Maps? – Tushar

ответ

0

Хорошо. Прежде всего, необходимо расширить com.google.android.maps.Overlay и переопределить метод onTap:

class MOverlay extends Overlay { 
     @Override 
     public boolean onTap(GeoPoint p, MapView mapView) { 
      int latitude = p.getLatitudeE6(); 
      int longitude = p.getLongitudeE6(); 

      // Do whatever you need to do here. 

      return true; // true means we handled the tap 
     } 

} 

Затем вам нужно добавить этот оверлей в список оверлеев на карте. Предполагая, что ваша деятельность расширяет MapActivity, этот код должен работать:

class MyActivity extends MapActivity { 
    public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 

      // your code here 

      MapView map = findViewById(R.id.map); // you can change this 

      MOverlay clickCatcher = new MOverlay(); 
      List<Overlay> allOverlays = map.getOverlays(); 
      allOverlays.add(clickCatcher); 
      map.invalidate(); 
      // All done! 
    } 
} 

Хотелось бы надеяться, что помогает вам. Удачи!

+0

Большое спасибо за ваше время :) Я реализую его, возможно, в конце недели и посмотрю, как это происходит. – Hawkhunter

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