2013-11-30 2 views
0

Я использую библиотеку mapsforge для использования карт в своем приложении. Мне нужно запустить контекстное меню и вернуть координаты карты. Вот что я пробовал. В моем макете у меня есть скрытая кнопка, настроенная ниже mapview, которая прослушивает longpress.Mapsforge rewrite: Контекстное меню на longpress on Map

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

     <org.mapsforge.map.android.view.MapView 
      android:id="@+id/offlinemapview" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" /> 

     <Button 
      android:id="@+id/mapview_btn_offline" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 
    </LinearLayout> 

Затем я регистрирую эту кнопку для контекстного меню и раздуваю контекстное меню.

mapb = (Button) findViewById(R.id.mapview_btn_offline); 
registerForContextMenu(mapb); 

    @Override 
    public void onCreateContextMenu(ContextMenu menu, View v, 
      ContextMenuInfo menuInfo) { 
     super.onCreateContextMenu(menu, v, menuInfo); 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.map_menu, menu); 
    } 

Но когда я запустил приложение, даже после длинного нажатия контекстное меню не отображается. Любые идеи о том, как это сделать?

ответ

1

На самом деле класс mapview является расширенным классом из ViewGroup. вы должны сделать следующее:

1.Нажмите кнопку OnTouchEvent в mapsforge. MotionEvent выполняет некоторые действия. 2. Определите таймер, чтобы удерживать время между touch_down и touch_up или отменить. 3.Есть до вас, как реализовать запасные части ...

+0

спасибо, я внедрил onLongPress из simpleGestureListener. Теперь я пытаюсь получить карты гео-кординатов длинного спрессованного места. –

+0

у нас есть для этого фрагмент? Мне также нужен этот код ..... Я надеюсь, что mapsforge поддержит это в будущих версиях. – dicenice

+0

В настоящее время поддерживается поддержка longpress во всех трех версиях (save, rewrite, stable) для карт. –

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