有人知道如何从快速搜索框中激活地图吗?
我的应用程序显示用户的位置和从我的网站上提取的一些位置。我添加了一个快速搜索框,遵循谷歌Android文档的指示,但我无法启动地图。我可以让它打印查询,所以我知道它正在获取数据,但当我试图将查询汇总到一个类或设置内容视图时,它会崩溃!(我已经评论掉了导致崩溃的行)。
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}
我找到了解决方案!
在上面的CatLog中,它显示启动活动后的onSignalStrengthChanged。这让我意识到,当GPS试图执行搜索并显示新地图时,它仍在更新用户位置。所以我只是简单地关闭了GPS活动启动的意图。
这实际上加快了应用程序的速度,现在搜索工作开始了!
感谢所有看到这一点并试图提供帮助的人。希望这能对其他人有所帮助:)