Я закончил создание программы для Android, которая добавляет маркер в местоположение. Но мне нужно показать ТЕКУЩЕЕ МОЕ МЕСТОПОЛОЖЕНИЕ в КАРТЕ. Я знаю, что это делается через службы, основанные на местоположении, но я не знаю, как включить его в свою программу.
Вот моя команда onCreate
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//map
mapView = (MapView) findViewById(R.id.mapView);
//zoom
LinearLayout zoomLayout = (LinearLayout)findViewById(R.id.zoom);
View zoomView = mapView.getZoomControls();
zoomLayout.addView(zoomView,
new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
mapView.displayZoomControls(true);
//Philippines coordinate
mc = mapView.getController();
String coordinates[] = {"10.952566007", "121.78921587"};
double lat = Double.parseDouble(coordinates[0]);
double lng = Double.parseDouble(coordinates[1]);
p = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));
mc.animateTo(p);
mc.setZoom(6);
mapOverlay = new MapOverlay();
listOfOverlays = mapView.getOverlays();
listOfOverlays.clear();
listOfOverlays.add(mapOverlay);
mapView.invalidate();
}
код > У меня есть onTouchEvent, который помещает маркер. Так что проблем нет, проблема в том, что мне нужно отобразить мое местоположение в начале программы. Он должен показать знак, который говорит: "Ты здесь" или что-то в этом роде на карте.
p.s: Я думаю, мне нужно изменить hardcoded точку на мою текущую точку местоположения, но я не знаю, как это сделать: |
Чтобы получить текущее местоположение вашего телефона, я использую
LocationManager locationManager = (LocationManager) this.getSystemService(LOCATION_SERVICE);
Критерии критериев = новые критерии(); criteria.setAccuracy(Criteria.ACCURACY_COARSE); String bestProvider = locationManager.getBestProvider(критерии, true); Местоположение loc = locationManager.getLastKnownLocation(bestProvider);
определить разрешения использования в AndroidManifest.xml для этих (используйте точное местоположение для других вещей)
В моем приложении я хотел бы передать параметр для намерений карт, чтобы карты отображали маркер, но не нашли способа сделать это. Создание оверлея местоположения, предложенное Риком (который не является Фредом), вероятно, способ пойти
Hello MapView показывает, как разместить наложения. Я думаю, вы хотите использовать класс MyLocationOverlay, зарегистрированный в ссылку google APIS, чтобы получить ваше текущее местоположение.