получить текущее местоположение

1

Я закончил создание программы для 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 точку на мою текущую точку местоположения, но я не знаю, как это сделать: |

Теги:
google-maps

2 ответа

2

Чтобы получить текущее местоположение вашего телефона, я использую

LocationManager locationManager = (LocationManager) this.getSystemService(LOCATION_SERVICE);
Критерии критериев = новые критерии(); criteria.setAccuracy(Criteria.ACCURACY_COARSE); String bestProvider = locationManager.getBestProvider(критерии, true); Местоположение loc = locationManager.getLastKnownLocation(bestProvider);

определить разрешения использования в AndroidManifest.xml для этих     (используйте точное местоположение для других вещей)

исх. http://code.google.com/p/android-bluetooth-on-motion/source/browse/trunk/BluetoothOnMotion/src/com/elsewhat/android/onmotion/BluetoothOnMotionService.java

В моем приложении я хотел бы передать параметр для намерений карт, чтобы карты отображали маркер, но не нашли способа сделать это. Создание оверлея местоположения, предложенное Риком (который не является Фредом), вероятно, способ пойти

  • 0
    когда я включил этот код в мою программу, он возвращает нулевое местоположение.
  • 0
    странно. Вы настроили AndroidManifest.xml таким же образом, как и я, ref code.google.com/p/android-bluetooth-on-motion/source/browse/… ?
0

Hello MapView показывает, как разместить наложения. Я думаю, вы хотите использовать класс MyLocationOverlay, зарегистрированный в ссылку google APIS, чтобы получить ваше текущее местоположение.

  • 0
    Еще один хороший пример, который делает гораздо больше, чем вы ищете, - это приложение поиска друзей на anddev.org: anddev.org/the_friend_finder_- mapactivity_using_gps - part_i -_ii-t93.html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню