Android: быстрый поиск по карте - PullRequest
1 голос
/ 21 июня 2011

Кто-нибудь знает, как активировать карту из окна быстрого поиска?

Мое приложение отображает местоположение пользователей и некоторые места, загруженные с моего сайта. Я добавил окно быстрого поиска, следуя инструкциям из Google Android docs, но не могу заставить его инициировать карту. Я могу заставить его напечатать запрос, так что я знаю, что он получает данные, но когда я пытаюсь передать запрос в класс или установить представление содержимого, он вылетает! (Я закомментировал строки, которые вызывают сбой).

public class SearchActivity extends MapActivity {  
    public boolean touched = false; 
    private MapView mapView;
    Main mc = new Main();

    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        //setContentView(R.layout.main);
        //mapView = (MapView) findViewById(R.id.mapView);
        //mapView.getController();
        handleIntent(getIntent());
    }  

    private void handleIntent(Intent intent) {
        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
            // handles a search query
            String query = intent.getStringExtra(SearchManager.QUERY);
            //mc.activateMapFromQuery(query);
        }
    }

    @Override
    protected boolean isRouteDisplayed() {
        // TODO Auto-generated method stub
        return false;
    }
} 

вот что я могу прочитать в LogCat, которое, я считаю, может быть уместным:

Starting Activity: Intent { act=android.intent.action.SEARCH flg=0x10000000 cmp=com.maps.android.example/com.maps.android.example.Main paused=false}
onSignalStrengthChanged
onSignalStrengthChanged
grantUriPermission URI=file:///data/local/tmp/Example.apk
No content provider found for:
Force stopping package com.maps.android.example uid=10115
WIN DEATH: Window{40834690 com.maps.android.example/com.maps.android.example.Main paused=false}

1 Ответ

1 голос
/ 21 июня 2011

Я нашел решение!

В CatLog выше написано onSignalStrengthChanged после запуска действия.Это заставило меня понять, что GPS все еще обновлял местоположение пользователя, когда он пытался выполнить поиск и отобразить новую карту.Поэтому я просто отключил активность GPS при инициации намерения.

Это фактически ускорило приложение, и теперь поиск работает!

Спасибо всем, кто посмотрел на это и попыталсяПомогите.Надеюсь, что это поможет другим:)

...