您的位置:首页 > 移动开发 > Android开发

android百度地图开发V4.5最新版(6)---行政区域查找

2017-12-13 16:14 746 查看
我们接着以前的继续进行相关开发,今天我们介绍怎么进行行政区域查找。废话不多说,还是老样子直接上代码

1;新建xml文件,布局如下:

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50dip"
android:orientation="horizontal" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="城市:" >
</TextView>

<EditText
android:id="@+id/city"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="北京" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="区:" >
</TextView>

<EditText
android:id="@+id/district"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="海淀" />
<Button
android:id="@+id/districSearch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:padding="10dip"
android:text="开始" />
</LinearLayout>

<com.baidu.mapapi.map.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>

2:创建java文件,代码如下:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_district_search_demo);
mDistrictSearch = DistrictSearch.newInstance();
mDistrictSearch.setOnDistrictSearchListener(this);

mMapView = (MapView) findViewById(R.id.map);
mBaiduMap = mMapView.getMap();
mCity = (EditText) findViewById(R.id.city);
mDistrict = (EditText) findViewById(R.id.district);
mSearchButton = (Button) findViewById(R.id.districSearch);
mSearchButton.setOnClickListener(this);
}

@Override
public void onGetDistrictResult(DistrictResult districtResult) {
mBaiduMap.clear();
if (districtResult == null) {
return;
}
if (districtResult.error == SearchResult.ERRORNO.NO_ERROR) {
List<List<LatLng>> polyLines = districtResult.getPolylines();
if (polyLines == null) {
return;
}
LatLngBounds.Builder builder = new LatLngBounds.Builder();
for (List<LatLng> polyline : polyLines) {
OverlayOptions ooPolyline11 = new PolylineOptions().width(10)
.points(polyline).dottedLine(true).color(color);
mBaiduMap.addOverlay(ooPolyline11);
OverlayOptions ooPolygon = new PolygonOptions().points(polyline)
.stroke(new Stroke(5, 0xAA00FF88)).fillColor(0xAAFFFF00);
mBaiduMap.addOverlay(ooPolygon);
for (LatLng latLng : polyline) {
builder.include(latLng);
}
}
mBaiduMap.setMapStatus(MapStatusUpdateFactory
.newLatLngBounds(builder.build()));

}
}

@Override
protected void onPause() {
super.onPause();
}

@Override
protected void onResume() {
super.onResume();
}

@Override
protected void onDestroy() {
mDistrictSearch.destroy();
super.onDestroy();
}

@Override
public void onClick(View v) {
String city = "";
String district = "";
if (mCity.getText() != null && !"".equals(mCity.getText()) ) {
city = mCity.getText().toString();
}
if (mDistrict.getText() != null && !"".equals(mDistrict.getText()) ) {
district = mDistrict.getText().toString();
}
mDistrictSearch.searchDistrict(new DistrictSearchOption().cityName(city).districtName(district));
}

3:配置activity到fest文件中。

这样我们就大工告成。



项目中overlay工具包下载请见:


百度地图工具包overlayutils,百度地图开发必备工具包

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐