真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android_百度地圖_獲得個人的位置并在地圖上展現(xiàn)-創(chuàng)新互聯(lián)

本頁面主要講述為單個模塊抽取出來的使用方法,如果要多個模塊整合在一起可以使用百度Demo里面extends MapActivity,下面為個人位置的獲取并在地圖展現(xiàn)的事項Android_百度地圖_獲得個
人的位置并在地圖上展現(xiàn)

1.在配置文件中添加百度地圖使用的一些相關權限(請求網(wǎng)絡等)

成都創(chuàng)新互聯(lián)公司專注骨干網(wǎng)絡服務器租用十年,服務更有保障!服務器租用,內(nèi)江機房主機托管 成都服務器租用,成都服務器托管,骨干網(wǎng)絡帶寬,享受低延遲,高速訪問。靈活、實現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務器。
1 23   4   5   6     
7    
8   9   

2.在配置文件中添加對屏幕的支持

12   

3.在layout布局文件中添加顯示地圖的控件

 1  2  6  7   11 
12 

4.寫一個Activity繼承MapActivity以下為顯示個人坐標以及添加多個覆蓋物的代碼

  1 package com.novaloncn.user.activity.map;
  2 
  3 import java.nio.channels.FileChannel.MapMode;
  4 import java.util.ArrayList;
  5 import java.util.List;
  6 
  7 import android.content.Intent;
  8 import android.graphics.drawable.Drawable;
  9 import android.location.Location;
 10 import android.os.Bundle;
 11 import android.util.Log;
 12 import android.view.View;
 13 import android.widget.Toast;
 14 
 15 import com.baidu.mapapi.BMapManager;
 16 import com.baidu.mapapi.GeoPoint;
 17 import com.baidu.mapapi.ItemizedOverlay;
 18 import com.baidu.mapapi.LocationListener;
 19 import com.baidu.mapapi.MKGeneralListener;
 20 import com.baidu.mapapi.MapActivity;
 21 import com.baidu.mapapi.MapController;
 22 import com.baidu.mapapi.MapView;
 23 import com.baidu.mapapi.MyLocationOverlay;
 24 import com.baidu.mapapi.OverlayItem;
 25 import com.novaloncn.user.R;
 26 import com.novaloncn.user.activity.ExChange_Map;
 27 
 28 
 29 public class Android_BaiduMap_test2 extends MapActivity{
 30 
 31   //添加百度地圖的相關控件 32   private MapView mapView;
 33   private BMapManager bMapManager;//加載地圖的引擎
 34   //百度地圖的key 35   private String keyString="38337A32108C7597D84A9F7E14C1CB6E9844B63A";
 36   //在百度地圖上添加一些控件,比如是放大或者縮小的控件 37   private MapController mapController;
 38   //onResume時注冊此listener,onPause時需要Remove 39   private LocationListener mLocationListener=null;//
 40   private MyLocationOverlay mLocationOverlay = null;  //定位圖層 41     
 42     @Override
 43   protected void onCreate(Bundle savedInstanceState) {
 44 // TODO Auto-generated method stub 45 super.onCreate(savedInstanceState);
 46         setContentView(R.layout.baidumap);
 47         
 48         mapView=(MapView) this.findViewById(R.id.bmapView);
 49         bMapManager=new BMapManager(Android_BaiduMap_test2.this);
 50         
 51         
 52          bMapManager=new BMapManager(Android_BaiduMap_test2.this);
 53  //必須加載key 54             bMapManager.init(keyString, new MKGeneralListener() {
 55                 
 56   public void onGetPermissionState(int arg0) {
 57 // TODO Auto-generated method stub 58 if(arg0==300){
 59                         Toast.makeText(Android_BaiduMap_test2.this, "輸入的Key有錯!請核實", 1).show();
 60                     }
 61                 }
 62                 
 63   public void onGetNetworkState(int arg0) {
 64 // TODO Auto-generated method stub 65                     
 66                 }
 67             });
 68             
 69             initMapActivity(bMapManager);
 70             mapView.setBuiltInZoomControls(true);//表示可以設置縮放功能 71            
 72             mapController=mapView.getController();
 73             mapController.setZoom(14);
 74             
 75             
 76 // //需要定義一個經(jīng)緯度:上海張江
 77 //            GeoPoint geoPoint=new GeoPoint((int)(31.514560*1E6), (int)(121.935551*1E6));
 78 //            
 79 //            mapController.setCenter(geoPoint);//設置一個中心點
 80 //            
 81 //            mapController.setZoom(15);//設置縮放級別是12個級別
 82 //            
 83 //            mapView.setBuiltInZoomControls(true);
 84 // //設置在縮放動畫過程中也顯示overlay,默認為不繪制
 85 //            mapView.setDrawOverlayWhenZooming(true);
 86 // // 添加定位圖層
 87 //            mLocationOverlay = new MyLocationOverlay(this, mapView);
 88 //            mapView.getOverlays().add(mLocationOverlay);
 89             
 90  //顯示交通地圖
 91 //            mapView.setTraffic(true);
 92  //顯示衛(wèi)星地圖
 93 //            mapView.setSatellite(true);
 94             
 95  // 添加定位圖層 96             mLocationOverlay = new MyLocationOverlay(this, mapView);
 97             mapView.getOverlays().add(mLocationOverlay);
 98             
 99  // 注冊定位事件100             mLocationListener = new LocationListener(){
101 
102                 
103   public void onLocationChanged(Location location) {
104 if (location != null){
105                         GeoPoint pt = new GeoPoint((int)(location.getLatitude()*1e6),
106                                 (int)(location.getLongitude()*1e6));
107                         mapView.getController().animateTo(pt);
108                     }
109                 }
110             };
111             
112             
113             
114             
115         }
116 public void daohang(View v){
117             Intent intent=new Intent(Android_BaiduMap_test2.this,ExChange_Map.class);
118             finish();
119             startActivity(intent);
120         }
121 public void myGps(View v){
122             Toast.makeText(Android_BaiduMap_test2.this, "GPS唄點擊了", 0).show();
123             
124             
125             
126             mLocationListener=new LocationListener() {
127                 
128   public void onLocationChanged(Location location) {
129 if(location!=null){
130                         GeoPoint pt=new GeoPoint((int)(location.getLatitude()*1e6),
131                                 (int)(location.getLongitude()*1e6));
132                         mapView.getController().animateTo(pt);
133 //                        mapController.setZoom(4);134                     }
135                 }
136             };
137             bMapManager.getLocationManager().requestLocationUpdates(mLocationListener);
138                
139             mLocationOverlay.enableMyLocation();
140             mapController.zoomIn();
141             
142             
143         }
144 public void environment(View v){
145             Toast.makeText(Android_BaiduMap_test2.this, "我被點擊了", 0).show();
146              Drawable drawable=getResources().getDrawable(R.drawable.iconmarka);
147              
148              MyOverLayItem myOverLayItem = new MyOverLayItem(drawable);
149             mapView.getOverlays().add(myOverLayItem);
150 //            myOverLayItem.populate();//刷新地圖的功能
151 //            bMapManager.notifyAll();152             mapController.zoomIn();
153         }
154         
155  public class MyOverLayItem extends ItemizedOverlay{
156 
157   private List list=new ArrayList();
158   //定義一組坐標,都是以double類型定義
159 //                   (31.214546*1E6), (int)(121.635574*1E6));160   private double mLat1=31.15443;//表示緯度161   private double mLonl=121.57428;//表示經(jīng)度162                 
163   private double mLat2=31.23443;//表示緯度164   private double mLon2=121.657428;//表示經(jīng)度165                 
166   private double mLat3=31.22777;//表示緯度167   private double mLon3=121.59000;//表示經(jīng)度168                 
169   private double mLat4=31.22477;//表示緯度170   private double mLon4=121.6300;//表示經(jīng)度171                 
172   private double mLat5=31.21977;//表示緯度173   private double mLon5=121.634000;//表示經(jīng)度
174                 
175                 
176                 
177   //用于在地圖上標識坐標,用一個圖片標注178   public MyOverLayItem(Drawable arg0) {
179 super(arg0);
180 // TODO Auto-generated constructor stub
181 //第一組數(shù)據(jù)在地圖上的標注點182                     GeoPoint geoPoint1=new GeoPoint((int)(mLat1*1E6), (int)(mLonl*1E6));
183 //第二組數(shù)據(jù)在地圖上的標注點184                     GeoPoint geoPoint2=new GeoPoint((int)(mLat2*1E6), (int)(mLon2*1E6));
185 //第三組數(shù)據(jù)在地圖上的標注點186                     GeoPoint geoPoint3=new GeoPoint((int)(mLat3*1E6), (int)(mLon3*1E6));
187 //第四組數(shù)據(jù)在地圖上的標注點188                     GeoPoint geoPoint4=new GeoPoint((int)(mLat4*1E6), (int)(mLon4*1E6));
189                 
190 //第五組數(shù)據(jù)在地圖上的標注點191                     GeoPoint geoPoint5=new GeoPoint((int)(mLat5*1E6), (int)(mLon5*1E6));
192                 
193                     list.add(new OverlayItem(geoPoint1, "Ponit1", "Point1"));
194                     list.add(new OverlayItem(geoPoint2, "Ponit2", "Point2"));
195                     list.add(new OverlayItem(geoPoint3, "Ponit3", "Point3"));
196                     list.add(new OverlayItem(geoPoint4, "Ponit4", "位于盛夏路,廣蘭路"));
197                     list.add(new OverlayItem(geoPoint5, "Ponit5", "位與丹桂路,龍東花園"));
198                     populate();//刷新地圖的功能199                     
200                 }
201                 
202   //返回指定的list集合中每一個坐標203                 @Override
204   protected OverlayItem createItem(int arg0) {
205 // TODO Auto-generated method stub206 return list.get(arg0);
207                 }
208 
209                 @Override
210   public int size() {
211 // TODO Auto-generated method stub212 return list.size();
213                 }
214                 @Override
215   public boolean onTap(int i) {
216 // TODO Auto-generated method stub217                         Log.e("int-------------", i+"");
218  if(i==1){
219 //                        Intent intent=new Intent(Android_BaiduMap_test2.this,Map2Activity.class);
220 //                        startActivity(intent);221                     }else{
222                         Toast.makeText(Android_BaiduMap_test2.this, list.get(i).getSnippet(), 1).show();
223                         
224                     }
225                     
226 return true;
227                 }
228                 
229             }
230         @Override
231 protected void onDestroy() {
232  // TODO Auto-generated method stub233  super.onDestroy();
234  if(bMapManager!=null){
235                 bMapManager.destroy();
236                 bMapManager=null;
237             }
238                 
239         }
240         @Override
241 protected void onResume() {
242  // TODO Auto-generated method stub243  super.onResume();
244  if(bMapManager!=null){
245   // 注冊定位事件,定位后將地圖移動到定位點246                 bMapManager.getLocationManager().requestLocationUpdates(mLocationListener);
247                 mLocationOverlay.enableMyLocation();
248                 mLocationOverlay.enableCompass(); // 打開指南針249                 bMapManager.start();
250             }
251         }
252         @Override
253 protected void onPause() {
254  // TODO Auto-generated method stub255  super.onPause();
256  if(bMapManager!=null){
257                 bMapManager.getLocationManager().removeUpdates(mLocationListener);
258                 mLocationOverlay.disableMyLocation();
259                 mLocationOverlay.disableCompass(); // 關閉指南針260                 bMapManager.stop();
261                 
262             }
263         }
264         @Override
265 protected boolean isRouteDisplayed() {
266  // TODO Auto-generated method stub267  return false;
268         }
269     }

一定要記住 在onPause onDestroy中注銷map


文章標題:Android_百度地圖_獲得個人的位置并在地圖上展現(xiàn)-創(chuàng)新互聯(lián)
分享地址:http://weahome.cn/article/dpehjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部