Android仿美团城市定位选择器_城市地区选择样式源代码下载
2015-10-09 12:38:17  By: dwtedx

ContactList是一款仿美团城市选择界面、滑动的时候会在屏幕中央显示拼音的首字母、效果非常流畅的、并附有定位城市界面的设计、相信一般项目上都可以使用到、下面是Demo运行的效果

仿美团地区选择样式


初始化代码

private void InitLocation() {
    // 设置定位参数
    LocationClientOption option = new LocationClientOption();
    option.setCoorType("bd09ll"); // 设置坐标类型
    option.setScanSpan(10000); // 10分钟扫描1次
    // 需要地址信息,设置为其他任何值(string类型,且不能为null)时,都表示无地址信息。
    option.setAddrType("all");
    // 设置是否返回POI的电话和地址等详细信息。默认值为false,即不返回POI的电话和地址信息。
    option.setPoiExtraInfo(true);
    // 设置产品线名称。强烈建议您使用自定义的产品线名称,方便我们以后为您提供更高效准确的定位服务。
    option.setProdName("通过GPS定位我当前的位置");
    // 禁用启用缓存定位数据
    option.disableCache(true);
    // 设置最多可返回的POI个数,默认值为3。由于POI查询比较耗费流量,设置最多返回的POI个数,以便节省流量。
    option.setPoiNumber(3);
    // 设置定位方式的优先级。
    // 当gps可用,而且获取了定位结果时,不再发起网络请求,直接返回给用户坐标。这个选项适合希望得到准确坐标位置的用户。如果gps不可用,再发起网络请求,进行定位。
    option.setPriority(LocationClientOption.GpsFirst);
    mLocationClient.setLocOption(option);
}


a-z排序代码

@SuppressWarnings("rawtypes")
Comparator comparator = new Comparator<City>() {
    @Override
    public int compare(City lhs, City rhs) {
        String a = lhs.getPinyi().substring(0, 1);
        String b = rhs.getPinyi().substring(0, 1);
        int flag = a.compareTo(b);
        if (flag == 0) {
            return a.compareTo(b);
        } else {
            return flag;
        }
    }
};


实现实位回调监听代码

public class MyLocationListener implements BDLocationListener {
    @Override
    public void onReceiveLocation(BDLocation arg0) {
        Log.e("info", "city = "   arg0.getCity());
        if (!isNeedFresh) {
            return;
        }
        isNeedFresh = false;
        if (arg0.getCity() == null) {
            locateProcess = 3; // 定位失败
            personList.setAdapter(adapter);
            adapter.notifyDataSetChanged();
            return;
        }
        currentCity = arg0.getCity().substring(0,
                arg0.getCity().length() - 1);
        locateProcess = 2; // 定位成功
        personList.setAdapter(adapter);
        adapter.notifyDataSetChanged();
    }

    @Override
    public void onReceivePoi(BDLocation arg0) {

    }
}


最后给贴上Demo的源代码、希望对大家有用、有兴趣的哥们可以下载看看

源代码下载链接: LocateCity仿美团城市选择界面 密码: eaa8

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

DD记账
top
+