android 行政区域,Android高德之旅(14)行政区划搜索

废话

前后两千万,拍照更清晰。大家好,这里是OPPO R11独家冠名赞助播出的大型情感类电视连续剧《Android高德之旅》,我是主持人大公爵。(开篇占位)

简介

这篇文章来讲个简单的,行政区划搜索。api极其简单,只需要一个行政区划的名称即可,比如北京市,或者朝阳区、通州区等等。直接看代码

DistrictSearch search = new DistrictSearch(this);

DistrictSearchQuery query = new DistrictSearchQuery();

query.setKeywords("朝阳区");//传入关键字

query.setShowBoundary(true);//是否返回边界值

search.setQuery(query);

search.setOnDistrictSearchListener(new DistrictSearch.OnDistrictSearchListener() {

@Override

public void onDistrictSearched(DistrictResult result) {

ArrayList district = result.getDistrict();

}

});

search.searchDistrictAsyn();

查询结果通过onDistrictSearched(DistrictResult result)回调,通过result.getDistrict(),我们可以获取一个区划列表ArrayList,这里需要解释下,一个行政区域可能是不连续的,会分成多块,每一块就是一个DistrictItem,比如我们的demo中,朝阳区就是两块不连续的区域。

fe370fdf7716

接着往下看

ArrayList district = result.getDistrict();

for (DistrictItem districtItem : district) {

String adcode = districtItem.getAdcode();

LatLonPoint center = districtItem.getCenter();

String citycode = districtItem.getCitycode();

String level = districtItem.getLevel();

String name = districtItem.getName();

List subDistrict = districtItem.getSubDistrict();

}

for循环就可以得到每一个DistrictItem,通过DistrictItem可以获得很多信息,比如区域中心坐标,子区域等。

但是这些都不重要,重要的是下面这个方法:

String[] polyStr = districtItem.districtBoundary();

这个方法返回一个String数组,数组的每一项就是一块区域的经纬度集合,朝阳区有两块区域,这个数组长度就是2。

下面要做的就是解析这个String[] 数组,解析成经纬度格式。

private List parseData(DistrictItem districtItem) {

String[] polyStr = districtItem.districtBoundary();

if (polyStr == null || polyStr.length == 0) {

return null;

}

List list = new ArrayList<>();

for (String str : polyStr) {

String[] lat = str.split(";");

boolean isFirst = true;

LatLng firstLatLng = null;

for (String latstr : lat) {

String[] lats = latstr.split(",");

if (isFirst) {

isFirst = false;

firstLatLng = new LatLng(Double

.parseDouble(lats[1]), Double

.parseDouble(lats[0]));

}

list.add(new LatLng(Double

.parseDouble(lats[1]), Double

.parseDouble(lats[0])));

}

if (firstLatLng != null) {

list.add(firstLatLng);

}

}

return list;

}

这段代码并不复杂,但是其中的isFirst可能会让你很蒙,没事,试下去掉就知道为什么了。

接着往下看,得到List后,下面要做的就是在地图上显示出来了,还是用之前的技术,都用烂了。

PolylineOptions polylineOption = new PolylineOptions();

polylineOption.addAll(list);

polylineOption.width(6).color(Color.BLUE);

aMap.addPolyline(polylineOption);

fe370fdf7716

总结

好啦,本期节目就到这里,感谢大家的收看,我们下期再见~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值