导航:首页 > 操作系统 > android省份城市

android省份城市

发布时间:2023-05-30 12:55:17

android 版百度地图如何通过定位功能获得当前的位置所在的城市

网络地图是通过移动通信基站定位来确定当前位置所在的城市。其原理就是通过测算周围基站与手机的距离来交会估算手机的空间位置。
手机定位是指通过特定的定位技术来获取移动手机或终端用户的位置信息(经纬度坐标),在电子地图上标出被定位对象的位置的技术或服务。定位技术有两种,一种是基于GPS的定位,一种是基于移动运营网的基站的定位。基于GPS的定位方式是利用手机上的GPS定位模块将自己的位置信号发送到定位后台来实现手机定位的。基站定位则是利用基站对手机的距离的测算距离来确定手机位置的。后者不需要手机具有GPS定位能力,但是精度很大程度依赖于基站的分布及覆盖范围的大小,有时误差会超过一公里。前者定位精度较高。此外还有利用Wifi在小范围内定位的方式。

❷ android如何获取地理位置

三种方式进行定位,获取用户位置,分别是基于基站定位, 网络定位,GPS定位。
1.基站定位(passive):这是基于网络基站进行定位的,定位的精确度在几十米到几千米不等,在城市中基站覆盖率比较高,推荐使用基站定位,如果是在郊区,基站相距较远,基站的覆盖没有城里好,定位的误差比较大。如果在郊区不推荐使用基站定位。
2.网络定位:wifi定位,网络定位
3.GPS定位:与卫星进行通信。手机中嵌入了GPS模块(精简版的A-GPS),通过A-GPS搜索卫星, 获取经纬度。使用GPS的弊端是:必须站在空旷的地方,头顶对着天空,如果云层厚了,也会受到一定的影响。精确度:10-50米
扩展知识:
使用Android是定位必备的权限:
< uses-permission android:name= " android.permission.ACCESS_FINE_LOCATION " /> //精确定位
<uses-permission android:name= "android.permission.ACCESS_MOCK_LOCATION" /> //模拟器
<uses-permission android:name= "android.permission.ACCESS_COARSE_LOCATION" /> //粗糙定位

//获取定位管理对象
LocationManager lm=(LocationManager)getSystemService(LOCATION_SERVICE);
String[] names=lm.getAllProviders();//获取所有的位置提供者,一般三种

Criteria criteria=new Criteria();//查询条件,如果设置了海拔,则定位方式只能是GPS;
criteria.setCostAllowed(true);//是否产生开销,比如流量费
String provider=lm.getBaseProvider(criteria,true)//获取最好的位置提供者,第二个参数为true,表示只获取那些被打开的位置提供者

lm.requestLocationUpdates(provier,0,0,new LocationListener(){});//获取位置。第二个参数表示每隔多少时间返回一次数据,第三个参数表示被定位的物体移动每次多少米返回一次数据。

private class MyLocationListener implements LocationListener {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {

}

@Override
public void onProviderEnabled(String provider) {

}

@Override

@Override
public void onLocationChanged(Location location) {
System. out.println( "服务中位置监听发送了变化了" );
float accuracy = location.getAccuracy(); // 精确度
double altitude = location.getAltitude(); // 海拔
double latitude = location.getLatitude(); // 纬度
double longitude = location.getLongitude(); // 经度
String locationInfo = "jing:" + longitude + ",wei:" + latitude + ",haiba:" + altitude + ",jingque:" + accuracy;
Editor edit = sp.edit();
edit.putString( "location", locationInfo);
edit.commit();
}
} public void onProviderDisabled(String provider) {

}

❸ Android 自定义仿京东地址选择器

public class AddressPickerViewextends RelativeLayout{

// recyclerView 选中Item 的颜色

    private int defaultSelectedColor = Color.parseColor("#3D71FF");

    // recyclerView 未选中Item 的颜色

    private int defaultUnSelectedColor = Color.parseColor("#2c2c2c");

    // 确定字体不可以点击时候的颜色

    private int defaultSureUnClickColor = Color.parseColor("#7F7F7F");

    // 确定字体可以点击时候的颜色

    private int defaultSureCanClickColor = Color.parseColor("#3D71FF");

    private ContextmContext;

    private int defaultTabCount =3; //tab 的数量

    private TabLayoutmTabLayout; // tabLayout

    private RecyclerViewmRvList; // 显示数据的RecyclerView

    private StringdefaultProvince ="省份"; //显示在上面tab中的省份

    private StringdefaultCity ="城市"; //显示在上面tab中的城市

    private StringdefaultDistrict ="区县"; //显示在上面tab中的区县

    private ListmRvData; // 用来在recyclerview显示的数据

    private AddressAdaptermAdapter;  // recyclerview 的adapter

    private YwpAddressBeanmYwpAddressBean; // 总数据

    private YwpAddressBean.AddressItemBeanmSelectProvice; //选中 省份bean

    private YwpAddressBean.AddressItemBeanmSelectCity;//选中 城市bean

    private YwpAddressBean.;//选中 区县bean

    private int mSelectProvicePosition =0; //选中 省份 位置

    private int mSelectCityPosition =0;//选中 城市  位置

    private int mSelectDistrictPosition =0;//选中 区县  位置

    private ;

    public AddressPickerView(Context context) {

super(context);

        init(context);

    }

public AddressPickerView(Context context, @Nullable AttributeSet attrs) {

super(context, attrs);

        init(context);

    }

public AddressPickerView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

        init(context);

    }

/**

    * 初始化

    */

    private void init(Context context) {

mContext = context;

        mRvData =new ArrayList<>();

        // UI

        View rootView =inflate(mContext, R.layout.address_picker_view, this);

        // tablayout初始化

        mTabLayout = (TabLayout) rootView.findViewById(R.id.tlTabLayout);

        mTabLayout.addTab(mTabLayout.newTab().setText(defaultProvince));

        mTabLayout.addTab(mTabLayout.newTab().setText(defaultCity));

        mTabLayout.addTab(mTabLayout.newTab().setText(defaultDistrict));

        mTabLayout.addOnTabSelectedListener(tabSelectedListener);

        // recyclerview adapter的绑定

        mRvList = (RecyclerView) rootView.findViewById(R.id.rvList);

        mRvList.setLayoutManager(new LinearLayoutManager(context));

        mAdapter =new AddressAdapter();

        mRvList.setAdapter(mAdapter);

        // 初始化默认的本地数据  也提供了方法接收外面数据

        mRvList.post(new Runnable() {

@Override

            public void run() {

initData();

            }

});

    }

/**

    * 初始化数据

    * 拿assets下的json文件

    */

    private void initData() {

StringBuilder jsonSB =new StringBuilder();

        try {

BufferedReader addressJsonStream =new BufferedReader(new InputStreamReader(mContext.getAssets().open("address.json")));

            String line;

            while ((line = addressJsonStream.readLine()) !=null) {

jsonSB.append(line);

            }

}catch (IOException e) {

e.printStackTrace();

        }

// 将数据转换为对象

        mYwpAddressBean =new Gson().fromJson(jsonSB.toString(), YwpAddressBean.class);

        if (mYwpAddressBean !=null) {

mRvData.clear();

            mRvData.addAll(mYwpAddressBean.getProvince());

            mAdapter.notifyDataSetChanged();

        }

}

/**

    * 开放给外部传入数据

    * 暂时就用这个Bean模型,如果数据不一致就需要各自根据数据来生成这个bean了

    */

    public void initData(YwpAddressBean bean) {

if (bean !=null) {

mSelectDistrict =null;

            mSelectCity =null;

            mSelectProvice =null;

            mTabLayout.getTabAt(0).select();

            mYwpAddressBean = bean;

            mRvData.clear();

            mRvData.addAll(mYwpAddressBean.getProvince());

            mAdapter.notifyDataSetChanged();

        }

}

//点确定

    private void sure() {

if (mSelectProvice !=null &&

mSelectCity !=null &&

mSelectDistrict !=null) {

//  回调接口

            if (mOnAddressPickerSureListener !=null) {

mOnAddressPickerSureListener.onSureClick(mSelectProvice.getN(), mSelectCity.getN(), mSelectDistrict.getN());

            }

}else {

Toast.makeText(mContext, "地址还没有选完整哦", Toast.LENGTH_SHORT).show();

        }

}

@Override

    protected void onDetachedFromWindow() {

super.onDetachedFromWindow();

      // mYwpAddressBean = null;

    }

/**

    * TabLayout 切换事件

    */

    TabLayout. =new TabLayout.OnTabSelectedListener() {

@Override

        public void onTabSelected(TabLayout.Tab tab) {

mRvData.clear();

            switch (tab.getPosition()) {

case 0:

mRvData.addAll(mYwpAddressBean.getProvince());

                    mAdapter.notifyDataSetChanged();

                    // 滚动到这个位置

                    mRvList.smoothScrollToPosition(mSelectProvicePosition);

break;

                case 1:

// 点到城市的时候要判断有没有选择省份

                    if (mSelectProvice !=null) {

for (YwpAddressBean.AddressItemBean itemBean :mYwpAddressBean.getCity()) {

if (itemBean.getP().equals(mSelectProvice.getI()))

mRvData.add(itemBean);

                        }

}else {

Toast.makeText(mContext, "请您先选择省份", Toast.LENGTH_SHORT).show();

                    }

mAdapter.notifyDataSetChanged();

                    // 滚动到这个位置

                    mRvList.smoothScrollToPosition(mSelectCityPosition);

break;

                case 2:

// 点到区的时候要判断有没有选择省份与城市

                    if (mSelectProvice !=null &&mSelectCity !=null) {

for (YwpAddressBean.AddressItemBean itemBean :mYwpAddressBean.getDistrict()) {

if (itemBean.getP().equals(mSelectCity.getI()))

mRvData.add(itemBean);

                        }

}else {

Toast.makeText(mContext, "请您先选择省份与城市", Toast.LENGTH_SHORT).show();

                    }

mAdapter.notifyDataSetChanged();

                    // 滚动到这个位置

                    mRvList.smoothScrollToPosition(mSelectDistrictPosition);

break;

            }

}

@Override

        public void onTabUnselected(TabLayout.Tab tab) {

}

@Override

        public void onTabReselected(TabLayout.Tab tab) {

}

};

    /**

    * 下面显示数据的adapter

*/

    class AddressAdapterextends RecyclerView.Adapter {

@Override

        public ViewHolderonCreateViewHolder(ViewGroup parent, int viewType) {

return new ViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_address_text, parent, false));

        }

@Override

        public void onBindViewHolder(final ViewHolder holder, final int position) {

final int tabSelectPosition =mTabLayout.getSelectedTabPosition();

            holder.mTitle.setText(mRvData.get(position).getN());

            holder.mTitle.setTextColor(defaultUnSelectedColor);

            // 设置选中效果的颜色

            switch (tabSelectPosition) {

case 0:

if (mRvData.get(position) !=null &&

mSelectProvice !=null &&

mRvData.get(position).getI().equals(mSelectProvice.getI())) {

holder.mTitle.setTextColor(defaultSelectedColor);

                    }

break;

                case 1:

if (mRvData.get(position) !=null &&

mSelectCity !=null &&

mRvData.get(position).getI().equals(mSelectCity.getI())) {

holder.mTitle.setTextColor(defaultSelectedColor);

                    }

break;

                case 2:

if (mRvData.get(position) !=null &&

mSelectDistrict !=null &&

mRvData.get(position).getI().equals(mSelectDistrict.getI())) {

holder.mTitle.setTextColor(defaultSelectedColor);

                    }

break;

            }

// 设置点击之后的事件

            holder.mTitle.setOnClickListener(new OnClickListener() {

@Override

                public void onClick(View v) {

// 点击 分类别

                    switch (tabSelectPosition) {

case 0:

mSelectProvice =mRvData.get(position);

                            // 清空后面两个的数据

                            mSelectCity =null;

                            mSelectDistrict =null;

                            mSelectCityPosition =0;

                            mSelectDistrictPosition =0;

                            mTabLayout.getTabAt(1).setText(defaultCity);

                            mTabLayout.getTabAt(2).setText(defaultDistrict);

                            // 设置这个对应的标题

                            mTabLayout.getTabAt(0).setText(mSelectProvice.getN());

                            // 跳到下一个选择

                            mTabLayout.getTabAt(1).select();

                            mSelectProvicePosition =position;

break;

                        case 1:

mSelectCity =mRvData.get(position);

                            // 清空后面一个的数据

                            mSelectDistrict =null;

                            mSelectDistrictPosition =0;

                            mTabLayout.getTabAt(2).setText(defaultDistrict);

                            // 设置这个对应的标题

                            mTabLayout.getTabAt(1).setText(mSelectCity.getN());

                            // 跳到下一个选择

                            mTabLayout.getTabAt(2).select();

                            mSelectCityPosition =position;

break;

                        case 2:

mSelectDistrict =mRvData.get(position);

                            // 没了,选完了,这个时候可以点确定了

                            mTabLayout.getTabAt(2).setText(mSelectDistrict.getN());

                            notifyDataSetChanged();

                            mSelectDistrictPosition =position;

                            sure();

break;

                    }

}

});

        }

@Override

        public int getItemCount() {

return mRvData.size();

        }

class ViewHolderextends RecyclerView.ViewHolder {

TextViewmTitle;

            ViewHolder(View itemView) {

super(itemView);

                mTitle = (TextView) itemView.findViewById(R.id.itemTvTitle);

            }

}

}

/**

    * 点确定回调这个接口

    */

    public interface OnAddressPickerSureListener {

void onSureClick(String proviceName,String cityName,String earaName);

    }

public void setOnAddressPickerSure(OnAddressPickerSureListener listener) {

this.mOnAddressPickerSureListener = listener;

    }

❹ 百度地图android开发中,类MKOfflineMap的方法getOfflineCityList()获取城市列表

从省到到市,从市取到区,android上好像没有对应的API,不过可以通过javascript的接口来实现,具体说明如下:

  1. 省不用说了,不需要接口都可以取得到列表。

  2. 市的话要根据省来取,具体如下:

用android的HttpGet等方法(联网的方法网上都有),访问下面的接口:

http://map..com/?qt=sub_area_list&areacode=15&level=1&from=mapapi

(其中最重要的参数就是areacode,下面有介绍,这里15就代表是湖北省)

这样就得到一个省对应的市的相关JSON数据,如:

{"content":{"area_code":15,"area_name":"湖北省","area_type":1,"geo":"1|12513622.70,3637618.8312513622.70,3637618.83|12513622.70,3637618.83","sub":[{"area_code":122,"area_name":"鄂州市","area_type":2,"geo":"1|12790258.19,3531251.9912790258.19,3531251.99|12790258.19,3531251.99"},{"area_code":156,"area_name":"襄樊市","area_type":2,"geo":"1|12487547.34,3752866.8112487547.34,3752866.81|12487547.34,3752866.81"},{"area_code":157,"area_name":"荆州市","area_type":2,"geo":"1|12494843.30,3524596.7112494843.30,3524596.71|12494843.30,3524596.71"},{"area_code":216,"area_name":"十堰市","area_type":2,"geo":"1|12334470.59,3823962.8912334470.59,3823962.89|12334470.59,3823962.89"},{"area_code":217,"area_name":"荆门市","area_type":2,"geo":"1|12492111.99,3616047.7912492111.99,3616047.79|12492111.99,3616047.79"},{"area_code":218,"area_name":"武汉市","area_type":2,"geo":"1|12725759.65,3556525.7012725759.65,3556525.70|12725759.65,3556525.70"},{"area_code":270,"area_name":"宜昌市","area_type":2,"geo":"1|12391216.56,3576054.8912391216.56,3576054.89|12391216.56,3576054.89"},{"area_code":271,"area_name":"黄冈市","area_type":2,"geo":"1|12791485.39,3539172.5112791485.39,3539172.51|12791485.39,3539172.51"},{"area_code":310,"area_name":"孝感市","area_type":2,"geo":"1|12683405.94,3601233.8012683405.94,3601233.80|12683405.94,3601233.80"},{"area_code":311,"area_name":"黄石市","area_type":2,"geo":"1|12807522.82,3509660.5012807522.82,3509660.50|12807522.82,3509660.50"},{"area_code":362,"area_name":"咸宁市","area_type":2,"geo":"1|12723962.99,3466736.4612723962.99,3466736.46|12723962.99,3466736.46"},{"area_code":371,"area_name":"随州市","area_type":2,"geo":"1|12621469.77,3703661.0912621469.77,3703661.09|12621469.77,3703661.09"},{"area_code":373,"area_name":"恩施土家族苗族自治州","area_type":2,"geo":"1|12188717.77,3518605.0912188717.77,3518605.09|12188717.77,3518605.09"},{"area_code":1293,"area_name":"潜江市","area_type":2,"geo":"1|12553498.42,3525947.4312553498.42,3525947.43|12553498.42,3525947.43"},{"area_code":1713,"area_name":"仙桃市","area_type":2,"geo":"1|12622370.33,3519641.2012622370.33,3519641.20|12622370.33,3519641.20"},{"area_code":2654,"area_name":"天门市","area_type":2,"geo":"1|12593291.39,3565272.6712593291.39,3565272.67|12593291.39,3565272.67"},{"area_code":2734,"area_name":"神农架林区","area_type":2,"geo":"1|12299516.08,3687772.6212299516.08,3687772.62|12299516.08,3687772.62"}]},"result":{"error":0}}


解析这个JSON就能得到这个省下面包含的市。


3.区的话,要通过市获取,具体调用的方法跟取市的接口一样,只是传入的areacode不一样就可以了。(传城市的areacode就可以得到区)


areacode是网络地图对应的城市代码,在网络地图的开发网站上能找到,如果找不下,看下面的也可以:

mcid如下:areaUID=

中国|1

安徽|23

福建|16

甘肃|6

广东|7

广西|17

贵州|24

海南|21

河北|25

黑龙江|2

河南|30

湖北|15

湖南|26

江苏|18

江西|31

吉林省|9

辽宁|19

内蒙古|22

宁夏|20

青海|11

山东|8

山西|10

陕西|27

四川|32

新疆|12

西藏|13

云南|28

浙江|29

北京|131

天津|332

石家庄|150

唐山|265

秦皇岛|148

邯郸|151

邢台|266

保定|307

张家口|264

承德|207

沧州|149

廊坊|191

衡水|208

太原|176

大同|355

阳泉|357

长治|356

晋城|290

朔州|237

晋中|238

运城|328

忻州|367

临汾|368

吕梁|327

呼和浩特|321

包头|229

乌海|123

赤峰|297

通辽|64

鄂尔多斯|283

呼伦贝尔|61

巴彦淖尔|169

乌兰察布|168

兴安盟|62

锡林郭勒盟|63

阿拉善盟|230

沈阳|58

大连|167

鞍山|320

抚顺|184

本溪|227

丹东|282

锦州|166

营口|281

阜新|59

辽阳|351

盘锦|228

铁岭|60

朝阳|280

葫芦岛|319

长春|53

吉林市|55

四平|56

辽源|183

通化|165

白山|57

松原|52

白城|51

延边朝鲜族自治州|54

哈尔滨|48

齐齐哈尔|41

鸡西|46

鹤岗|43

双鸭山|45

大庆|50

伊春|40

佳木斯|42

七台河|47

牡丹江|49

黑河|39

绥化|44

大兴安岭地区|38

上海|289

南京|315

无锡|317

徐州|316

常州|348

苏州|224

南通|161

连云港|347

淮安|162

盐城|223

扬州|346

镇江|160

泰州|276

宿迁|277

杭州|179

宁波|180

温州|178

嘉兴|334

湖州|294

绍兴|293

金华|333

衢州|243

舟山|245

台州|244

丽水|292

合肥|127

芜湖|129

蚌端口|126

淮南|250

马鞍山|358

淮北|253

铜陵|337

安庆|130

黄山|252

滁州|189

阜阳|128

宿州|370

巢湖|251

六安|298

亳州|188

池州|299

宣城|190

福州|300

厦门|194

莆田|195

三明|254

泉州|134

漳州|255

南平|133

龙岩|193

宁德|192

南昌|163

景德镇|225

萍乡|350

九江|349

新余|164

鹰潭|279

赣州|365

吉安|318

宜春|278

抚州|226

上饶|364

济南|288

青岛|236

淄博|354

枣庄|172

东营|174

烟台|326

潍坊|287

济宁|286

泰安|325

威海|175

日照|173

莱芜|124

临沂|234

德州|372

聊城|366

滨州|235

菏泽|353

郑州|268

开封|210

洛阳|153

平顶山|213

安阳|267

鹤壁|215

新乡|152

焦作|211

濮阳|209

许昌|155

漯河|344

三门峡|212

南阳|309

商丘|154

信阳|214

周口|308

驻马店|269

武汉|218

黄石|311

十堰|216

宜昌|270

襄樊|156

鄂州|122

荆门|217

孝感|310

荆州|157

黄冈|271

咸宁|362

随州|371

恩施土家族苗族自治州|373

仙桃|1713

潜江|1293

天门|2654

神农架林区|2734

长沙|158

株洲|222

湘潭|313

衡阳|159

邵阳|273

岳阳|220

常德|219

张家界|312

益阳|272

郴州|275

永州|314

怀化|363

娄底|221

湘西土家族苗族自治州|274

广州|257

韶关|137

深圳|340

珠海|140

汕头|303

佛山|138

江门|302

湛江|198

茂名|139

肇庆|338

惠州|301

梅州|141

汕尾|339

河源|200

阳江|199

清远|197

东莞|119

中山|187

潮州|201

揭阳|259

云浮|258

南宁|261

柳州|305

桂林|142

梧州|304

北海|295

防城港|204

钦州|145

贵港|341

玉林|361

百色|203

贺州|260

河池|143

来宾|202

崇左|144

海口|125

三亚|121

五指山|1644

琼海|2358

儋州|1215

文昌|2758

万宁|1216

东方|2634

定安|1214

屯昌|1641

澄迈|2757

临高|2033

白沙黎族自治|2359

昌江黎族自治|1642

乐东黎族自治|2032

陵水黎族自治|1643

保亭黎族苗族自治|1217

琼中黎族苗族自治|2031

重庆|132

成都|75

自贡|78

攀枝花|81

泸州|331

德阳|74

绵阳|240

广元|329

遂宁|330

内江|248

乐山|79

南充|291

眉山|77

宜宾|186

广安|241

达州|369

雅安|76

巴中|239

资阳|242

阿坝藏族羌族自治州|185

甘孜藏族自治州|73

凉山彝族自治州|80

贵阳|146

六盘水|147

遵义|262

安顺|263

铜仁地区|205

黔西南布依族苗族自治州|343

毕节地区|206

黔东南苗族侗族自治州|342

黔南布依族苗族自治州|306

昆明|104

曲靖|249

玉溪|106

保山|112

昭通|336

丽江|114

临沧|110

楚雄彝族自治州|105

红河哈尼族彝族自治州|107

文山壮族苗族自治州|177

普洱|108

西双版纳傣族自治州|109

大理白族自治州|111

德宏傣族景颇族自治州|116

怒江傈僳族自治州|113

迪庆藏族自治州|115

拉萨|100

昌都地区|99

山南地区|97

日喀则地区|102

那曲地区|101

阿里地区|103

林芝地区|98

西安|233

铜川|232

宝鸡|171

咸阳|323

渭南|170

延安|284

汉中|352

榆林|231

安康|324

商洛|285

兰州|36

嘉峪关|33

金昌|34

白银|35

天水|196

武威|118

张掖|117

平凉|359

酒泉|37

庆阳|135

定西|136

陇南|256

临夏回族自治州|182

甘南藏族自治州|247

西宁|66

海东地区|69

海北藏族自治州|67

黄南藏族自治州|70

海南藏族自治州|68

果洛藏族自治州|72

玉树藏族自治州|71

海西蒙古族藏族自治州|65

银川|360

石嘴山|335

吴忠|322

固原|246

中卫|181

乌鲁木齐|92

克拉玛依|95

吐鲁番地区|89

哈密地区|91

昌吉回族自治州|93

博尔塔拉蒙古自治州|88

巴音郭楞蒙古自治州|86

阿克苏地区|85

克孜勒苏柯尔克孜自治州|84

喀什地区|83

和田地区|82

伊犁哈萨克自治州|90

塔城地区|94

阿勒泰地区|96

石河子|770

阿拉尔|731

图木舒克|792

五家渠|789

香港特别行政区|2912

澳门特别行政区|2911

❺ android百度地图api 怎么知道该搜索哪个城市

在onLocationChanged方法里获得自己当前的坐标
然后方法里写 mSearch.reverseGeocode(new GeoPoint((int)(location.getLatitude()*1e6),(int)(location.getLongitude()*1e6)));
然后再通过代码实行这个方法功能
public class MySearchListener implements MKSearchListener {
public void onGetAddrResult(MKAddrInfo result, int error){
MKGeocoderAddressComponent kk=result.addressComponents;
String city=kk.city;


❻ android 如何实现 省份,城市级联菜单

Android实现省份城市级联菜单的方法:
1、下载的数据库 db_weather.db 放到sdcard/weather 目录下面 方便后续操作
2、使用 SQLite Database Browser 可以打开数据库 查看数据 和表等信息
3、了解了表的构成可以实现操作了androidManifest.xml配置文件声明 添加操作sdcard 权限
4、布局文件main.xml主要使用两个 spinner 分别实现城市 省份的选择

❼ android 如何输入首字母进行地址城市模糊检索

Android中ListView的A-Z字母排序和过滤搜索功能并且实现汉字转成拼音的功能,一般对联系人,城市列表等实现A-Z的排序,因为联系人和城市列表可以直接从数据库中获取它的汉字拼音,而对于一般的数据,实现A-Z的排序,基实只需要将汉字转换成拼音就行了。

以下为步骤:

  1. SortModel 一个实体类,里面一个是ListView的name,另一个就是显示的name拼音的首字母。


2.SideBar类就是ListView右侧的字母索引View,需要使用setTextView(TextView mTextDialog)来设置用来显示当前按下的字母的TextView,以及使用方法来设置回调接口,在回调方法onTouchingLetterChanged(String s)中来处理不同的操作。



3.CharacterParser这个类是将汉字转换成拼音的类,该拼音没有声调的,该类是单例类,其中定义了三个方法,在这个demo中用到的是getSelling(String chs)方法,将词组转换成拼音。



4.ClearEditText类是自定义的一个在右侧有删除图片的EditText,当然也可以用Android原生的EditText,这里就不贴上代码了Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框。


5.SortAdapter 数据的适配器类,该类需要实现SectionIndexer接口,该接口是用来控制ListView分组的。


6.最后运行效果

❽ android开发省市区城市选择器怎么实现

发现一个好用的省市区城市选择器,感觉挺好用的。

实现好的省市县区选择器,可以用来参考设计,用网页语言做的,可以在android环境中使用。

阅读全文

与android省份城市相关的资料

热点内容
阿里云服务器安装管理 浏览:548
java手机开发教程 浏览:672
我的世界怎么删除服务器数据 浏览:669
linux内存子系统 浏览:970
加密思维币 浏览:689
魅族访客文件夹 浏览:50
添加的文件夹怎么找 浏览:615
程序员涉黄 浏览:698
maven编译resources下的js 浏览:519
ubuntu文件移动命令 浏览:227
安卓i怎么查找苹果手机 浏览:949
云服务器宕机概率 浏览:232
在线买药用什么app知乎 浏览:815
ubuntu解压xz文件 浏览:676
宏杰加密时电脑关机 浏览:390
自己写单片机编译器 浏览:600
单片机按键闪烁 浏览:382
为什么icloud总是显连接服务器失败 浏览:890
如何设置域控服务器 浏览:740
想在上海租房子什么app好 浏览:186