/* * Copyright (C) 2016 Baidu, Inc. All Rights Reserved. */ package baidumapsdk.demo.search; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import com.baidu.mapapi.map.BaiduMap; import com.baidu.mapapi.map.MapStatusUpdateFactory; import com.baidu.mapapi.map.MapView; import com.baidu.mapapi.map.OverlayOptions; import com.baidu.mapapi.map.PolygonOptions; import com.baidu.mapapi.map.PolylineOptions; import com.baidu.mapapi.map.Stroke; import com.baidu.mapapi.model.LatLng; import com.baidu.mapapi.model.LatLngBounds; import com.baidu.mapapi.search.core.SearchResult; import com.baidu.mapapi.search.district.DistrictResult; import com.baidu.mapapi.search.district.DistrictSearch; import com.baidu.mapapi.search.district.DistrictSearchOption; import com.baidu.mapapi.search.district.OnGetDistricSearchResultListener; import java.util.List; import baidumapsdk.demo.R; public class DistrictSearchDemo extends Activity implements OnGetDistricSearchResultListener, Button.OnClickListener { private DistrictSearch mDistrictSearch; private EditText mCity; private EditText mDistrict; private MapView mMapView; private final int color = 0xAA00FF00; private BaiduMap mBaiduMap; private Button mSearchButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); 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)); } }