android js gps定位,Android中的定位Demo

可以按照这上面的流程去申请key值。在获取SHA1值的时候,推荐使用给的第一种方法(在cmd命令中获取,我之前使用的是从Eclipse>  Window > Preferences > Android > Build复制的,但是在使用的时候出现地图加载错误)。

2. 下载百度地图提供的jar包。

07f9727e95199d88b305e1f1134db803.png

勾选要使用的功能,然后下载开发包即可。我这里,使用了基础地图和定位功能,下载开发包之后,解压开,把 libs 文件夹下的内容,全部复制到你的Android项目的libs下就可以使用了。

3. 接下来需要在AndroidManifest.xml文件中,进行属性。

(1) 定位需要的权限配置

(2) 在 application 标签下配置

android:name="com.baidu.lbsapi.API_KEY"

android:value="这里是你申请的 key" />

(3) 配置定位 service

android:name="com.baidu.location.f"

android:enabled="true"

android:process=":remote" >

到这里AnroidManifest.xml文件里的配置工作就了。

4. 第三步写一下定位页面的布局文件

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

android:layout_width="match_parent"

android:layout_height="50dp"

android:gravity="center"

android:textSize="20sp"

android:text="定位页面"/>

android:id="@+id/mapview"

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight="1"

android:clickable="true"

>

android:id="@+id/goback"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="回到当前位置"/>

5. 最后就要写实现代码了

public class LocationActivity extends Activity {

private MapView mMapView = null;

private BaiduMap mBaiduMap;

private LocationClient mLocationClient = null;

private BDLocationListener listener = new MyLocationListener();

private Button goBack;

private BDLocation location;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

// 在使用SDK各组件之前初始化context信息,传入ApplicationContext

// 注意该方法要再setContentView方法之前实现

SDKInitializer.initialize(getApplicationContext());

setContentView(R.layout.activity_location);

mLocationClient = new LocationClient(this);

mLocationClient.registerLocationListener(listener);

mMapView = (MapView) findViewById(R.id.mapview);

mBaiduMap = mMapView.getMap();

mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);

// 开启定位图层

mBaiduMap.setMyLocationEnabled(true);

//定位的方法

findLocation();

goBack = (Button) findViewById(R.id.goback);

location = new BDLocation();

goBack.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

findLocation();

}

});

}

@Override

protected void onDestroy() {

// TODO Auto-generated method stub

super.onDestroy();

// 关闭定位图层

mBaiduMap.setMyLocationEnabled(false);

mMapView.onDestroy();

mLocationClient.stop();

}

@Override

protected void onResume() {

// TODO Auto-generated method stub

super.onResume();

mMapView.onResume();

}

@Override

protected void onPause() {

// TODO Auto-generated method stub

super.onPause();

mMapView.onPause();

}

//定位方法封装

public void findLocation() {

if (mLocationClient.isStarted()) {

mLocationClient.stop();

}

LocationClientOption option = new LocationClientOption();

option.setOpenGps(true);// 打开gps

option.setCoorType("bd09ll"); // 设置坐标类型

option.setScanSpan(0);

mLocationClient.setLocOption(option);

// 开始定位

mLocationClient.start();

}

class MyLocationListener implements BDLocationListener {

@Override

public void onReceiveLocation(BDLocation location) {

// TODO Auto-generated method stub

// map view 销毁后不在处理新接收的位置

if (location == null || mMapView == null) {

return;

}

MyLocationData locData = new MyLocationData.Builder()

.accuracy(location.getRadius())

.direction(100).latitude(location.getLatitude())

.longitude(location.getLongitude())

.build();

mBaiduMap.setMyLocationData(locData);

LatLng ll = new LatLng(location.getLatitude(), location.getLongitude());

MapStatusUpdate u = MapStatusUpdateFactory.newLatLng(ll);

mBaiduMap.animateMapStatus(u);

}

}

}

这样的一个Android定位的Demo就写好了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android手机GPS定位开发是指通过Android手机的内置GPS模块获取设备的地理位置信息。在进行GPS定位开发前,我们首先需要在AndroidManifest.xml文件添加必要的权限:ACCESS_FINE_LOCATION和ACCESS_COARSE_LOCATION,以便获取用户的地理位置。 在代码,我们可以使用LocationManager类来获取GPS定位信息。我们需要注册LocationListener来监听GPS定位的改变,并实现onLocationChanged方法来处理定位信息的更新。 同时,我们也可以使用Google Play服务提供的Fused Location Provider API来进行GPS定位开发。这个API提供了更精确和高效的位置提供者,它将多个传感器(如GPS、Wi-Fi和移动网络)的数据进行合并,以提供最准确的地理位置信息。 在进行GPS定位开发时,还可以结合地图功能来显示当前位置。可以使用Google Maps Android API来实现地图的显示和标记当前位置。需要在AndroidManifest.xml文件添加访问Google Maps的权限,并在布局文件添加MapView来显示地图。 除了基本的位置信息获取,我们还可以通过GPS定位开发来实现更高级的功能。例如,设置定位的更新间隔和最小距离,以提高定位的准确性和节省能量。还可以使用逆地理编码API将经度和纬度转换为具体的地理位置地址。 总之,Android手机GPS定位开发是一个非常有用和实用的功能,在实现出色的用户体验和为用户提供精确的地理位置信息方面具有重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值