編輯:關於android開發
搜索地址功能是建立在能夠通過百度地圖API獲取位置的基礎上
通過百度地圖定位獲取位置詳情:http://www.cnblogs.com/zzw1994/p/5008134.html
1 package com.zzw.baidumappoint;
2
3 import com.baidu.location.BDLocation;
4 import com.baidu.location.BDLocationListener;
5 import com.baidu.location.LocationClient;
6 import com.baidu.location.LocationClientOption;
7 import com.baidu.mapapi.SDKInitializer;
8 import com.baidu.mapapi.map.BaiduMap;
9 import com.baidu.mapapi.map.MapStatusUpdate;
10 import com.baidu.mapapi.map.MapStatusUpdateFactory;
11 import com.baidu.mapapi.map.MapView;
12 import com.baidu.mapapi.map.MyLocationData;
13 import com.baidu.mapapi.model.LatLng;
14 import com.baidu.mapapi.search.geocode.GeoCodeOption;
15 import com.baidu.mapapi.search.geocode.GeoCodeResult;
16 import com.baidu.mapapi.search.geocode.GeoCoder;
17 import com.baidu.mapapi.search.geocode.OnGetGeoCoderResultListener;
18 import com.baidu.mapapi.search.geocode.ReverseGeoCodeResult;
19
20 import android.app.Activity;
21 import android.os.Bundle;
22 import android.view.View;
23 import android.view.View.OnClickListener;
24 import android.widget.EditText;
25 import android.widget.Toast;
26
27 public class MainActivity extends Activity {
28
29 private LocationClient mLocationClient;
30 private BaiduMap mBaiduMap;
31 private GeoCoder mGeoCoder;
32
33 @Override
34 protected void onCreate(Bundle savedInstanceState) {
35 super.onCreate(savedInstanceState);
36 SDKInitializer.initialize(getApplicationContext());// 使程序不崩潰的作用
37 setContentView(R.layout.activity_main);
38
39 final EditText city_edit = (EditText) findViewById(R.id.city);
40 final EditText addr_edit = (EditText) findViewById(R.id.addr);
41 // 獲取LocationClient
42 mLocationClient = new LocationClient(this);
43
44 // 獲得GeoCoder
45 mGeoCoder = GeoCoder.newInstance();
46 mGeoCoder.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() {
47
48 @Override
49 public void onGetReverseGeoCodeResult(ReverseGeoCodeResult result) {
50
51 }
52
53 @Override
54 public void onGetGeoCodeResult(GeoCodeResult result) {
55 try{
56 LatLng ll = result.getLocation();
57 // 只是完成了定位
58 MyLocationData locData = new MyLocationData.Builder().latitude(ll.latitude).longitude(ll.longitude)
59 .build();
60
61 // 設置圖標在地圖上的位置
62 mBaiduMap.setMyLocationData(locData);
63
64 // 開始移動百度地圖的定位地點到中心位置
65 MapStatusUpdate u = MapStatusUpdateFactory.newLatLngZoom(ll, 16.0f);
66 mBaiduMap.animateMapStatus(u);
67 }catch(Exception e){
68 Toast.makeText(getApplicationContext(), "請檢查地址", 0).show();
69 }
70 }
71 });
72
73 findViewById(R.id.GO).setOnClickListener(new OnClickListener() {
74
75 @Override
76 public void onClick(View v) {
77 try {
78 String city = city_edit.getText() + "";
79 String addr = addr_edit.getText() + "";
80 city_edit.setText("");
81 addr_edit.setText("");
82 mGeoCoder.geocode(new GeoCodeOption().city(city.trim()).address(addr.trim()));
83 } catch (Exception e) {
84
85 }
86
87 }
88 });
89 LocationClientOption option = new LocationClientOption();
90 option.setCoorType("bd09ll");
91 mLocationClient.setLocOption(option);
92
93 // 獲取BaiduMap
94 MapView mapView = (MapView) findViewById(R.id.mapView);
95 mBaiduMap = mapView.getMap();
96
97 // 顯示出當前位置的小圖標
98 mBaiduMap.setMyLocationEnabled(true);
99
100 MyLocationListener mListener = new MyLocationListener();
101 mLocationClient.registerLocationListener(mListener);
102 mLocationClient.start();
103 }
104
105 @Override
106 protected void onDestroy() {
107 mLocationClient.stop();
108 super.onDestroy();
109 }
110
111 private class MyLocationListener implements BDLocationListener {
112
113 @Override
114 public void onReceiveLocation(BDLocation location) {
115
116 // 只是完成了定位
117 MyLocationData locData = new MyLocationData.Builder().latitude(location.getLatitude())
118 .longitude(location.getLongitude()).build();
119
120 // 設置圖標在地圖上的位置
121 mBaiduMap.setMyLocationData(locData);
122
123 // 開始移動百度地圖的定位地點到中心位置
124 LatLng ll = new LatLng(location.getLatitude(), location.getLongitude());
125 MapStatusUpdate u = MapStatusUpdateFactory.newLatLngZoom(ll, 16.0f);
126 mBaiduMap.animateMapStatus(u);
127 }
128
129 }
130
131 }
Accessibility輔助功能--一念天堂,一念地獄,一念天堂一念地獄
Accessibility輔助功能--一念天堂,一念地獄,一念天堂一念地獄0x00什麼是Accessibility(輔助功能) 考慮到部分用戶不能很好地使用Android
圖片放大縮小(和ViewPager配合使用流暢顯示)--第三方開源--PhotoView,
圖片放大縮小(和ViewPager配合使用流暢顯示)--第三方開源--PhotoView, 圖片的放大縮小實現效果是使用的github上的一個開源項目photoView實
PigeonCall:一款Android VoIP網絡電話App架構的介紹
PigeonCall:一款Android VoIP網絡電話App架構的介紹 1.概述 PigeonCall,中文名“飛鴿電話”,
【java學習系列】 Android第一本書《第一行代碼》,第一行代碼android
【java學習系列】 Android第一本書《第一行代碼》,第一行代碼android 開始Java的學習,從Android,開始吧。《第一代碼》開始閱讀和調試demo例