实验6:Android地图定位-百度地图上定位自己所在的位置

本文介绍了一个基于百度地图SDK的应用实例,展示了如何在Android应用中集成百度地图并实现地图显示与用户位置定位功能。文章提供了完整的布局文件及主Activity代码,并提到了在网络异常情况下定位可能遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
	
    <com.baidu.mapapi.map.MapView
        android:id="@+id/bmapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true" 
        />
	<Button  
         android:id="@+id/request"  
         android:layout_width="wrap_content"  
         android:layout_height="wrap_content"  
         android:layout_alignParentRight="true"  
         android:layout_alignParentTop="true"  
         android:layout_marginRight="10dp"  
         android:layout_marginTop="10dip"  
         android:background="@drawable/mylocation"  
         />  
       
</RelativeLayout>

2 主 Activity

package com.majianjie.baidumap;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.MeasureSpec;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.MKGeneralListener;
import com.baidu.mapapi.map.LocationData;
import com.baidu.mapapi.map.MKEvent;
import com.baidu.mapapi.map.MKMapViewListener;
import com.baidu.mapapi.map.MapController;
import com.baidu.mapapi.map.MapPoi;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MyLocationOverlay;
import com.baidu.mapapi.map.PopupClickListener;
import com.baidu.mapapi.map.PopupOverlay;
import com.baidu.platform.comapi.basestruct.GeoPoint;
import com.example.baidumap.R;

public class MainActivity extends Activity {

	//声明控件
		private Button request;
	
		private Toast mToast=null;
		private BMapManager mBMapManager=null;
		private MapView mMapView = null;			//MapView 是地图主控件
		private MapController mMapController = null;//用MapController完成地图控制
		
		private LocationClient mLocClient; 
		 public LocationData mLocData = null;
		 
		private LocationOverlay myLocationOverlay = null;//定位图层
		private boolean isRequest = false;//是否手动触发请求定位  
	    private boolean isFirstLoc = true;//是否首次定位  
	   
	    private PopupOverlay mPopupOverlay  = null;//弹出泡泡图层,浏览节点时使用
	    private View viewCache=null;
	    public BDLocation location = new BDLocation(); 
	    
	    
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);


 



3 遇到的问题

网络异常,没有成功向服务器发起请求。此时定位结果无效。

4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值