Реализация панели поиска материалов через Google Maps - PullRequest
0 голосов
/ 11 мая 2018

Итак, я работаю над картографическим приложением (для ботанического сада), которое позволяет мне искать данные, хранящиеся в базе данных SQL, для хранения имен и координат различных видов растений (у меня есть база данных, настроенная и работающая) ,

Основная проблема, с которой я сталкиваюсь, - это правильное функционирование панели поиска. У меня есть панель поиска материала, наложенная на мою карту должным образом, и я могу искать свои данные SQL, однако, я использую представление recycler для отображения моих данных SQL, которое накладывается на мою карту, что делает функцию поиска совершенно бесполезной, поскольку она покрытие карты.

Я действительно не уверен, как правильно заставить свернуть представление recycler или реализовать другой метод, чтобы мои данные SQL заполнялись в результатах поиска материалов, а не просто накладывались на мою карту. Вот мой метод OnCreate, в котором я настроил панель поиска материала и представление переработчика. Буду признателен за любые предложения / помощь, так как я изо всех сил пытаюсь найти руководства / документацию в Интернете.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);
    // Obtain the SupportMapFragment and get notified when the map is ready to be used.
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);


    //Code used to remove/add droplist to material search bar

   recyclerView = (RecyclerView)findViewById(R.id.recycler_search);
    layoutManager= new LinearLayoutManager(this);
    recyclerView.setLayoutManager(layoutManager);
    recyclerView.setHasFixedSize(true);

    materialSearchBar = (MaterialSearchBar)findViewById(R.id.search_bar);


    database = new Database(this);

    materialSearchBar.setText("Search around The Gardens");
    materialSearchBar.setCardViewElevation(10);
   // loadSuggestList();
    materialSearchBar.addTextChangeListener(new TextWatcher() {

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

            List<String> suggest = new ArrayList<>();
            for(String search:suggestList)
            {
                if(search.toLowerCase().contains(materialSearchBar.getText().toLowerCase()))
                {
                    suggest.add(search);
                }
            }

            materialSearchBar.setLastSuggestions(suggest);
        }

        @Override
        public void afterTextChanged(Editable s) {

        }
    });

    materialSearchBar.setOnSearchActionListener(new MaterialSearchBar.OnSearchActionListener() {

        @Override
        public void onSearchStateChanged(boolean enabled) {

            if(!enabled)
            {
                recyclerView.setAdapter(adapter);
            }

        }

        @Override
        public void onSearchConfirmed(CharSequence text) {

            startSearch(text.toString());

        }

        @Override
        public void onButtonClicked(int buttonCode) {


        }

    });

    //USED IN DATABASE CLASS
    adapter = new SearchAdapter(this,database.getTrees());
   recyclerView.setAdapter(adapter);

Данные SQL с пересекающимися картами с видом переработчика

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...