編輯:關於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輔助功能--一念天堂,一念地獄,一念天堂一念地獄0x00什麼是Accessibility(輔助功能) 考慮到部分用戶不能很好地使用Android
圖片放大縮小(和ViewPager配合使用流暢顯示)--第三方開源--PhotoView, 圖片的放大縮小實現效果是使用的github上的一個開源項目photoView實
PigeonCall:一款Android VoIP網絡電話App架構的介紹 1.概述 PigeonCall,中文名“飛鴿電話”,
【java學習系列】 Android第一本書《第一行代碼》,第一行代碼android 開始Java的學習,從Android,開始吧。《第一代碼》開始閱讀和調試demo例