我想在我的谷歌地图V2上搜索区域名称



我问了一个关于如何在安卓应用程序中获得Google Map V2的问题。现在我想在谷歌地图上放一个功能。任何人都可以给我一个好的答案,我正在尝试用地理编码来获得它。提前谢谢。

您可以将此代码放入活动的 onCreateOptionMenu 中

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.show_map, menu);
    SearchManager searchManger =  (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    SearchView searchView =  (SearchView) menu.findItem(R.id.action_search).getActionView();
    searchView.setSearchableInfo(searchManger.getSearchableInfo(getComponentName()));
    //searchView.setIconifiedByDefault(false);
    SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener()
    {
        @Override
        public boolean onQueryTextSubmit(String newText) 
        {
            return true;
        }
        @Override
        public boolean onQueryTextChange(String query) 
        {
            Geocoder geocoder = new Geocoder(CreateReminderActivity.this);  
            List<Address> addresses;
                    String areaname = edLocation.getText().toString();
                    addresses = geocoder.getFromLocationName(areaname, 1);
                    if(addresses.size() > 0) {
                        double latitude= addresses.get(0).getLatitude();
                        double longitude= addresses.get(0).getLongitude();
                        insLat = latitude;
                        insLong = longitude;
                        String statename = addresses.get(0).getAdminArea();
                        googleMap.addMarker(new MarkerOptions()
                        .title(areaname)
                        .snippet("SNIPPET")
                        .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher))
                        .anchor(0.0f, 1.0f) // Anchors the marker on the bottom left
                        .position(new LatLng(latitude, longitude)));
                        LatLng latLng = new LatLng(latitude, longitude);
                        googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
                     // Zoom in the Google Map
                     googleMap.animateCamera(CameraUpdateFactory.zoomTo(10));
                     Toast.makeText(getApplicationContext(), statename, 20).show(); 
            return true;
        }
    };

    searchView.setOnQueryTextListener(queryTextListener);

    return true;
}

最新更新