问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何实现Android客户端旅游景点地图APP应用

发布网友 发布时间:2022-05-23 04:22

我来回答

1个回答

热心网友 时间:2023-10-13 00:32

以百度api为基础
复制
要定义的变量
private BaiMap mBaiMap;
private MapView mMapView;
private LocationClient mLocationClient;
private boolean isFirstIn = true;

初始化
mMapView= (MapView) findViewById(R.id.bmapView);
mBaiMap = mMapView.getMap();

各部分实现的功能
1.
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
//注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());

把地图的生命周期和activity的生命周期绑定起来
@Override
protected void onStart() {
super.onStart();
mBaiMap.setMyLocationEnabled(true);
if(!mLocationClient.isStarted())
mLocationClient.start();
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
mMapView.onDestroy();
}
@Override
protected void onResume() {
super.onResume();
//在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
//在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
mMapView.onPause();
}

实现option点击转换地图模式
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
menu.add(0, 1, 0, 普通地图);
menu.add(0, 2, 0, 卫星地图);
menu.add(0, 3, 0, 实时交通(off));
return super.onCreateOptionsMenu(menu);
}

设置option的点击事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
//普通地图
mBaiMap.setMapType(BaiMap.MAP_TYPE_NORMAL);
break;
case 2:
//卫星地图
mBaiMap.setMapType(BaiMap.MAP_TYPE_SATELLITE);
break;
case 3:
if(mBaiMap.isTrafficEnabled()){
mBaiMap.setTrafficEnabled(false);
item.setTitle(实时交通(off));
}else{
mBaiMap.setTrafficEnabled(true);
item.setTitle(实时交通(on));
}
break;
}
return super.onOptionsItemSelected(item);
}

在地图上添加标识物
//定义Maker坐标点
LatLng point = new LatLng(39.963175, 116.400244);
//构建Marker图标
BitmapDescriptor bitmap = BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher);
//构建MarkerOption,用于在地图上添加Marker
OverlayOptions option = new MarkerOptions()
.position(point)
.icon(bitmap);
//在地图上添加Marker,并显示
mBaiMap.addOverlay(option);

设置gps定位
要用到的类
LocationClient
BDLocationListener
(1)
MyLocationListener myLocationListener = new MyLocationListener();
mLocationClient = new LocationClient(getApplicationContext()); //声明LocationClient类
mLocationClient.registerLocationListener(myLocationListener); //注册监听函数

(2)利用LocationClientOption 设置定位的属性
LocationClientOption option = new LocationClientOption();
option.setLocationMode(LocationMode.Hight_Accuracy);//设置定位模式
option.setCoorType(bd09ll);//返回的定位结果是百度经纬度,默认值gcj02
option.setScanSpan(1000);//设置发起定位请求的间隔时间为5000ms
option.setIsNeedAddress(true);//返回的定位结果包含地址信息
option.setNeedDeviceDirect(true);//返回的定位结果包含手机机头的方向
mLocationClient.setLocOption(option);

(3)*的实现
private class MyLocationListener implements BDLocationListener{

@Override
public void onReceiveLocation(BDLocation location) {
// TODO Auto-generated method stub
MyLocationData data = new MyLocationData.Builder()
//设置经纬度
.accuracy(location.getRadius())
.latitude(location.getLatitude())
.longitude(location.getLongitude())
.build();
mBaiMap.setMyLocationData(data);
//判断第一次进入,定位到目前所在位置
if(isFirstIn){
LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
MapStatusUpdate msu =MapStatusUpdateFactory.newLatLng(latLng);
mBaiMap.animateMapStatus(msu);
Toast.makeText(getApplicationContext(), location.getAddrStr(),3000).show();
isFirstIn = false;
}
}
}

所要加的权限
所要在application声明的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何挑选紧致眼霜?有哪些品牌推荐? 怎样挑选抗皱眼霜?有哪些值得安利? 什么品牌的眼霜平价好用? 什么牌子眼霜最好用眼霜十大排名 市面上的大牌抗老眼霜该怎么选? ps4十大最耐玩经营类游戏 推荐点好玩的模拟经营类游戏吧 模拟经营类游戏(模拟经营类游戏简称) 谁有模拟经营版的单机游戏 一个小岛的模拟经营的单机游戏 三系油箱容量 服务器主机与PC个人主机有何具体区别? 关于冷山2帐篷的防风绳 王者荣耀锁定目标模式是什么意思 魔兽世界 设置里面的锁定目标是什么意思 “雷达锁定目标”这“锁定”本质是什么,有什么用,如何实现锁定 战神决范围技能锁定目标什么意思 为什么要锁定目标 coc里现在部落战的目标上有个锁定目标,还能添加备注,是什么意思? 锁定目标,追求完美的意思。 初中发的社保卡有什么用 年轻人办社保卡有什么用? 15岁学生社保卡有什么用 学生社保卡的用处 我的是macbook15寸视网膜屏幕,用parallels desktop 虚拟机装xp玩英雄联盟,进入游戏一直闪屏 mac10.15.7切换独立显卡屏幕闪一下 匹的空调一天开10小时需要耗多少电 睡觉的时候喉咙才痛怎么回事儿 做饭最好的米和水的比例是多少? 睡觉快睡着的时候老是会觉得喉咙痒,怎么回事啊? 你有没有跟我一样 有人有十几年没哭过掉过眼泪的嘛? 华为的哪种手机背面有海螺? 华为那款手机背面有图案 在闪银金服上贷的款下来了,但是提现的时候银行卡错误显示异常,被冻结,让我交5000的解冻费,可信吗? 闪银账号冻结怎么解冻 我的闪银被冻结怎么解冻 我的闪银被冻结怎么解冻 为什么闪银账户被冻结?该怎么解冻? 我昨天在闪银贷款,说他们系统出款三次被银鉴会冻结了,叫我存一万到我银行卡上,重新申请对接,才可以? 广州百元文化传媒有限公司怎么样? 广州金晟文化传媒服务有限公司怎么样?马春亚在广州市天河区,开办金晟文化传媒公司期间,用套路收买古懂_百度问一问 这是真的吗闪银贷款软件我已经付了800块钱的手续费提现的时候银行打错一个码冻结了要多付2000解冻 山东百元文化传媒有限公司怎么样? 雷达的“锁定”是什么意思?和发现目标有何不同? 广州百校通文化传媒有限公司怎么样? 目标锁定的基本原理是什么?? 广东百乐文化传媒有限公司怎么样? 为什么同步iphone以后歌曲数量总比itunes上的少 广州佰富文化传媒有限公司怎么样? 天龙八部2自动锁定目标有什么用?锁定目标和没锁定有什么区别呢? 绥棱县数据小镇还招人吗 Apple music上为什么韩国歌曲那么少