Форум программистов, компьютерный форум CyberForum.ru

Координаты и Polyline - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Отправить сообщение по нажатию на иконку программы http://www.cyberforum.ru/android-dev/thread1438156.html
Здравствуйте форумчане и гуру андройд системы. С Delphi приходится пересаживаться на Java и Android SDK. Пытаюсь создать банальный виджет, на основе чистильщика памяти. Жмакаем на иконку программы и программа очищает мусор в телефоне. Как таким же макаром отправить сообщение?) т.е не должно быть форм, значить все должно пройти в фоновом режиме, через какой - то поток. В курсе, что...
Программирование Android Проверить соединение с интернетом Здравствуйте! Столкнулся с такой проблемой, приложение устанавливает коннект с сервером (они общающийся время от времени пакетами данных) все хорошо, но теперь вдруг пропадает нет, например зашли в подвал, потом вышли, сервер уже сбросил подключение т.к. поймал разрыв, а вот приложение все еще думает что сокет активен. Как проверить сокет не посылая контрольного пакета серверу? в таком случае?... http://www.cyberforum.ru/android-dev/thread1437936.html
Новостная лента Программирование Android
Не могу вывести RSS летну. Исказ всякие коды в инете,но они не помогли мне.Прошу вас,можете написать простое приложение,которое будет выводить RSS ленту с сайта. Пункты такие: Заголовок и часть инфы Сама статья ************************ Я замучился,прошу помогите!
Назад к Activity из Preference Программирование Android
getFragmentManager().beginTransaction() .replace(android.R.id.content, new Preference()).commit(); вот таким способом открываю PreferenceFragment а как можно потом выйти обратно из настроек, нажав на кнопку BACK?
Программирование Android Почему может не работать метод getUrl() ? http://www.cyberforum.ru/android-dev/thread1437639.html
В приложение из внешней БД скачивается файл file. И я пытаюсь получить к нему строковый путь через file.getUrl(). И как только добавляю эту строчку в код, приложение начинает вылетать. Метод выполняется в методе doInBackground(Void... params), который в свою очередь в классе GetTask extends AsyncTask<Void, Void, Void>. Добавлено через 6 часов 14 минут Проблема оказалась со стороны БД
Программирование Android Загрузка ListView после AsyncTask В классе, который расшияет AsyncTask, занружаю данные из JSON и сохраняю в бд. При первом запуске апликации, список не выдаёт какого либо результата, так как лист выводиться ещё до того, как в базе данных есть какие либо записи. Имею фрагмент, который работает с фрагментмо и его адаптером. public class EventListFragment extends ListFragment { public static final String TAG =... подробнее

Показать сообщение отдельно
SkyL1ne_tm
2 / 2 / 0
Регистрация: 06.07.2013
Сообщений: 97

Координаты и Polyline - Программирование Android

06.05.2015, 13:59. Просмотров 355. Ответов 0
Метки (Все метки)

Записываю координаты местоположения в базу данных SQLite.
Далее пытаюсь эти координаты из базы взять и поместить в Map. Затем отрисовать их на карте через Polyline.
Но на карте ничего не рисуется. В чем может быть проблема? Или я вообще не то делаю?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class MainActivity extends FragmentActivity {
    GoogleMap map;
    SupportMapFragment mapFragment;
    Marker marker;
    double latitude;
    double longitude;
    LatLng myPosition;
    private LocationManager locationManager;
    Map<Double, Double> coordMap = new HashMap<>();
    Curcor c = null;
 
//всякие методы типа Oncreate и т.д.
 
private void showTrack() {
        SQL sqlHelper = new SQL(this);
        SQLiteDatabase db = sqlHelper.getReadableDatabase();
        double lat, lng;
        PolylineOptions polylineOptions = new PolylineOptions();
        c = db.rawQuery("SELECT * FROM coordinates", null);
        while (c.moveToNext()) {
            lat = Double.parseDouble(c.getString(c.getColumnIndex("Latitude")));
            lng = Double.parseDouble(c.getString(c.getColumnIndex("Longitude")));
            coordMap.put(lat, lng);
                polylineOptions
                        .add(new LatLng(lat, lng))
                        .color(android.R.color.holo_red_dark).width(2)
                        .geodesic(true);
                map.addPolyline(polylineOptions);
        }
        c.close();
        sqlHelper.close();
    }
 
}
Класс SQL:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class SQL extends SQLiteOpenHelper {
 
    final String LOG_TAG = "myLogs";
public SQL(Context context) {
        //  суперкласса
        super(context, "Locations", null, 1);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        Log.d(LOG_TAG, "--- onCreate database ---");
        // создаем таблицу с полями
        db.execSQL("create table coordinates ("
                + "Latitude,"
                + "Longitude,"
                + "Time)");
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
}
Добавлено через 1 час 51 минуту
Сделал то же самое, только через ArrayList-ы, для широты и для долготы свой лист.
Координаты в них есть, но по прежнему не рисуются на карте.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
private void showTrack() {
        SQL sqlHelper = new SQL(this);
        SQLiteDatabase db = sqlHelper.getReadableDatabase();
        double lat, lng;
        ArrayList<Double> latList = new ArrayList<Double>();
        ArrayList<Double> lngList = new ArrayList<Double>();
        PolylineOptions polylineOptions = new PolylineOptions();
        c = db.rawQuery("SELECT * FROM coordinates", null);
        while (c.moveToNext()) {
            lat = Double.parseDouble(c.getString(c.getColumnIndex("Latitude")));
            lng = Double.parseDouble(c.getString(c.getColumnIndex("Longitude")));
            latList.add(lat);
            lngList.add(lng);
        }
 
        Iterator<Double> latIterator = latList.iterator();
        Iterator<Double> lngIterator = lngList.iterator();
 
        while (latIterator.hasNext() || lngIterator.hasNext()) {
            lat = latIterator.next();
            lng = lngIterator.next();
            polylineOptions
                    .add(new LatLng(lat, lng))
                    .color(android.R.color.holo_red_light).width(2)
                    .geodesic(true);
            System.out.println(lat + " : " + lng);
        }
        c.close();
        sqlHelper.close();
    }
Я так понимаю, проблема где-то тут:
Java
1
2
3
4
5
6
7
8
while (latIterator.hasNext() || lngIterator.hasNext()) {
            lat = latIterator.next();
            lng = lngIterator.next();
            polylineOptions
                    .add(new LatLng(lat, lng))
                    .color(android.R.color.holo_red_light).width(2)
                    .geodesic(true);
        }
или нет?

Добавлено через 21 час 58 минут
Вопрос решился, забыл дописать строку для отображения на карте.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru