我正在构建一个应用程序,用户在其中写下他的位置并将地图放大。对于地图我很好,但我的问题是从搜索视图中获取信息。所以,我的范围是:用户写下他的位置,按下键盘上的搜索按钮,地图放大他的位置
问问题
1738 次
1 回答
3
谷歌地图已经有一个位置按钮,可以将相机缩放到用户的位置。虽然我假设这不是你要找的
我将描述如何使用 android 小部件 SearchView 来输入文本,但您需要使用 Geocoder 从该文本中查找位置。
首先,要使用搜索视图,您必须在 XML 文件中声明它。
<SearchView
android:id="@+id/searchview_map_search"
android:width="fill_parent"
android:height="wrap_content" />
这将创建一个搜索视图栏,当用户单击它时会展开,您还可以使用 EditText 字段来允许用户输入可搜索的字符串。我将继续使用 SearchView
在您将要搜索的 MapFragment 或 Activity 中,将 QueryListener 设置为 searchView
SearchView searchView = (SearchView) item.getActionView().findViewById(R.id.serchview_map_search);
searchView.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
// Do something when user his enter on keyboard
view.clearFocus();
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
// Do something while user is entering text
return false;
}
});
字符串查询是用户键入的输入字符串。您可以使用该字符串,然后将相机移动到键入的字符串的位置。这样做虽然需要另一个类或系统。将位置名称转换为该位置的 LatLng 坐标的最简单方法是使用 Geocode 类:http: //developer.android.com/reference/android/location/Geocoder.html我不会去那个,关于该主题有很多 StackOverflow 问题
于 2013-09-10T13:46:24.023 回答