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

Отображения маркера на карте при длительном нажатии osmdroid - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Предложения работодателей Требуется программист, для разработки мобильных приложений IOS и Android http://www.cyberforum.ru/android-dev/thread1404766.html
Добрый день Требуется программист, для разработки мобильных приложений IOS и Android Контакты для связи: shlyakhtinoleg@gmail.com , skype: shlyakhtinoleg
Android Как хранить введенный однажды в EditText номер, чтобы при след. запуске отображался только он? Как хранить введенный однажды в EditText номер, чтобы при след. запуске он уже отображался в поле и его не надо было вводить? какой есть наиболее простой и надежный вариант (кроме SQLite)? http://www.cyberforum.ru/android-dev/thread1404636.html
Ошибка при работе с Google Maps API v2 Android
Добрый день. голову сломал уже есть примитивный код: public class MainActivity extends Activity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener { private GoogleApiClient mGoogleApiClient; private Location mLastLocation;
Android Нахождения градуса обьекта, относительно центра круга
Здравствуйте. Подскажите пожалуйста решение вот это задачи : Как найти градус наклона желтой точки, относительно центра круга, если X и Y координата известна. Я когда-то подобное делал, но хоть тресни уже не помню как.
Android Извлечение кода из страницы WebView http://www.cyberforum.ru/android-dev/thread1404333.html
Здравствуйте. Есть страница загруженная WebView с кодом авторизации, который нужно использовать в приложении. Как этот код можно извлечь из WebView программно? Спасибо.
Android Какой прок от dpi относительно px? Пишу своё первое приложение под android. Дали макет(или как там он у android разработчиков называется) размером 600х800px. В нём есть кнопка, которая должна занимать 2/3 экрана по ширине. В кнопке длинный текст, который умещается на макете в одну строчку. В каких единицах(и как) надо указывать размер кнопки и шрифта, чтобы кнопка всегда занимала 2/3 экрана, а текст в кнопке был всегда в одну... подробнее

Показать сообщение отдельно
SkN[i]lpl[e][r]
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 232

Отображения маркера на карте при длительном нажатии osmdroid - Android

27.03.2015, 11:33. Просмотров 605. Ответов 0
Метки (Все метки)

Здравствуйте! Я пытаюсь реализовать на карте отображение маркера при длительном нажатии на нее... Перерыл весь интернет, нашел только один пример кода. Но при вставки в проект у меня практически все подчеркивается красным... Помогите разобраться какие методы и классы тут нужно объявлять и как вообще этим пользоваться...
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
MapEventsReceiver mReceive = new MapEventsReceiver() {
 
    @Override
    public boolean singleTapUpHelper(IGeoPoint arg0) {
     Log.d("debug", "Single tap helper");
     //your onSingleTap logic here
    return false;
    }
 
    @Override
    public boolean longPressHelper(IGeoPoint arg0) {
    Log.d("debug", "LongPressHelper");
    //your onLongPress logic here
    setMarker(arg0);
    return false;
    }
};
 
//Creating a handle overlay to capture the gestures
MapEventsOverlay OverlayEventos = new MapEventsOverlay(getBaseContext(), mReceive);
map.getOverlays().add(OverlayEventos);
 
//Refreshing the map to draw the new overlay
map.invalidate();
 
 
//I use this method to set the marker on touchPoint
    protected void setMarker(IGeoPoint arg0) {
 
touchPoint = (GeoPoint) arg0;
targetPoint = touchPoint;
path.addPoint(targetPoint);
 
//Listener to handle item's(markers) events
 myOnItemGestureListener = new OnItemGestureListener<OverlayItem>() {
 
    @Override
    public boolean onItemLongPress(int arg0, OverlayItem arg1) {
    Log.d("debug", "Testing long tap on item");
    //your item onLongPress logic here
        return false;
    }
 
    @Override
    public boolean onItemSingleTapUp(int index, OverlayItem item) {
    Log.d("debug", "Testing single tap on item");
    //your item onSingleTap logic here
        return true;
    }
};
 
itemarray.add(new OverlayItem("Marker " + cnt, "Info about marker " + cnt, touchPoint));
 
ItemizedOverlayWithFocus<OverlayItem> overlayDeItems = new ItemizedOverlayWithFocus<OverlayItem>(getBaseContext(), itemarray, myOnItemGestureListener);
map.getOverlays().add(overlayDeItems);
 
overlayDeItems.setFocusItemsOnTap(true);
map.invalidate();
itemarray = new ArrayList<OverlayItem>();
   cnt++;
}
Добавлено через 17 часов 46 минут
после долгих мучений переделал этот код вот под этот:
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
MapEventsReceiver mReceive = new MapEventsReceiver() {
 
 
        @Override
        public boolean singleTapConfirmedHelper(GeoPoint p) {
            Log.d("debug", "Single tap helper");
            //your onSingleTap logic here
            logUser("korotkoe nazhatie");
            return false;
        }
 
        @Override
        public boolean longPressHelper(GeoPoint p) {
            Log.d("debug", "LongPressHelper");
            //your onLongPress logic here
            logUser("Dlinnoe nazhatie");
            MapEventsOverlay OverlayEventos = new MapEventsOverlay(getBaseContext(), mReceive);
            mapView.getOverlays().add(OverlayEventos);
 
//Refreshing the map to draw the new overlay
            mapView.invalidate();
 
            return false;
        }
    };
вроде все норм, скомпилировалось, запустил на телефоне, но... на нажатие никак не реагирует, ни лога не выводит ни метку не ставит, какбудто вызова этих функций не происходит, не могу понять почему.

Добавлено через 32 минуты
даже так переделал, все равно не работает, никак не реагирует...
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
 MapEventsReceiver mReceive = new MapEventsReceiver() {
 
 
        @Override
        public boolean singleTapConfirmedHelper(GeoPoint p) {
            Log.d("debug", "Single tap helper");
            //your onSingleTap logic here
            logUser("korotkoe nazhatie");
            return false;
        }
 
        @Override
        public boolean longPressHelper(GeoPoint p) {
            Log.d("debug", "LongPressHelper");
            //your onLongPress logic here
            logUser("Dlinnoe nazhatie");
            //Creating a handle overlay to capture the gestures
            setMarker(p);
            MapEventsOverlay OverlayEventos = new MapEventsOverlay(getBaseContext(), mReceive);
            mapView.getOverlays().add(OverlayEventos);
 
//Refreshing the map to draw the new overlay
            mapView.invalidate();
 
            return false;
        }
    };
 
 
 
 
    //I use this method to set the marker on touchPoint
   protected void setMarker(IGeoPoint arg0) {
 
       GeoPoint touchPoint = (GeoPoint) arg0;
    //  GeoPoint  targetPoint = touchPoint;
 
       //mapView.getOverlays().add(targetPoint);
 
//Listener to handle item's(markers) events
     ItemizedIconOverlay.OnItemGestureListener   myOnItemGestureListener = new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() {
 
            @Override
            public boolean onItemLongPress(int arg0, OverlayItem arg1) {
                Log.d("debug", "Testing long tap on item");
                //your item onLongPress logic here
                logUser("Dlinnoe nazhatie");
                return false;
            }
 
            @Override
            public boolean onItemSingleTapUp(int index, OverlayItem item) {
                Log.d("debug", "Testing single tap on item");
                //your item onSingleTap logic here
                logUser("korotkoe nazhatie");
                return true;
            }
        };
 
       ArrayList<OverlayItem> itemarray = new ArrayList<OverlayItem>();
        itemarray.add(new OverlayItem("Marker " , "Info about marker " , touchPoint));
 
        ItemizedOverlayWithFocus<OverlayItem> overlayDeItems = new ItemizedOverlayWithFocus<OverlayItem>(getBaseContext(), itemarray, myOnItemGestureListener);
        mapView.getOverlays().add(overlayDeItems);
 
        overlayDeItems.setFocusItemsOnTap(true);
        mapView.invalidate();
      //  itemarray = new ArrayList<OverlayItem>();
        //cnt++;
    }
Добавлено через 59 секунд
вот как сделать чтоб реагировал на нажатия на карту?...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru