手机室内导航为什么手机导航不可以在室内进行定位?为什么定位成功后偏离实际位置较远?手机可以实现语音导航功能吗?

手机室内导航  时间:2021-08-23  阅读:()

android 怎么实现在室内定位

使用百度地图 Android SDK定位吧. 其实室内的话呢,一般就是wifi定位为主啦. public class HouseKeeperSearch extends Activity { private MapView mMapView; private MapController mMapController = null; // 定位相关 private LocationClient mLocClient; private LocationData locData = null; public MyLocationListener myListener = new MyLocationListener(); boolean isFirstLoc = true;// 是否首次定位 private MyLocationOverlay myLocationOverlay = null; // 定点标志 private BMapManager mBMapMan = null; private ProgressDialog pd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mBMapMan = new BMapManager(getApplication()); mBMapMan.init("Ut5QiVKCvqiXol4Ph6uW3N3h", null); pd = new ProgressDialog(this); pd.setIndeterminate(true); pd.setMessage(getString(R.string.loading_location)); pd.setCancelable(true); pd.show(); setContentView(R.layout.activity_housekeeper_search); initMap(); } private void initMap() { // 地图初始化 mMapView = (MapView) findViewById(R.id.map_view); mMapController = mMapView.getController(); mMapView.getController().setZoom(16); mMapView.getController().enableClick(true); mMapView.setBuiltInZoomControls(true); // 定位初始化 mLocClient = new LocationClient(this); locData = new LocationData(); mLocClient.registerLocationListener(myListener); LocationClientOption option = new LocationClientOption(); option.setOpenGps(true);// 打开gps option.setCoorType("bd09ll"); // 设置坐标类型 option.setScanSpan(1000); mLocClient.setLocOption(option); mLocClient.start(); //启动 // 定位图层初始化 myLocationOverlay = new MyLocationOverlay(mMapView); // 设置定位数据 myLocationOverlay.setMarker(getResources().getDrawable( R.drawable.location)); // 添加定位图层 mMapView.getOverlays().add(myLocationOverlay); myLocationOverlay.enableCompass(); // 修改定位数据后刷新图层生效 mMapView.refresh(); //加载 } /** * 定位SDK监听函数 */ public class MyLocationListener implements BDLocationListener { @Override public void onReceiveLocation(BDLocation location) { if (location == null) return; locData.latitude = location.getLatitude(); locData.longitude = location.getLongitude(); // 如果不显示定位精度圈,将uracy赋值为0即可 uracy = location.getRadius(); // 此处可以设置 locData的方向信息, 如果定位 SDK 未返回方向信息,用户可以自己实现罗盘功能添加方向信息。

locData.direction = location.getDerect(); myLocationOverlay.setData(locData); // 更新图层数据执行刷新后生效 mMapView.refresh(); // 是手动触发请求或首次定位时,移动到定位点 if (isFirstLoc) { // 移动地图到定位点 Log.d("LocationOverlay", "receive location, animate to it"); mMapController.animateTo(new GeoPoint( (int) (locData.latitude * 1e6), (int) (locData.longitude * 1e6))); if (pd.isShowing()) pd.dismiss(); } // 首次定位完成 isFirstLoc = false; } public void onReceivePoi(BDLocation poiLocation) { if (poiLocation == null) { return; } } } @Override protected void onPause() { mMapView.onPause(); if (mBMapMan != null) { (); } super.onPause(); } @Override protected void onResume() { mMapView.onResume(); if (mBMapMan != null) { mBMapMan.start(); } super.onResume(); } @Override protected void onDestroy() { // 退出时销毁定位 if (mLocClient != null) (); mMapView.destroy(); if (mBMapMan != null) { mBMapMan.destroy(); mBMapMan = null; } super.onDestroy(); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); mMapView.onSaveInstanceState(outState); } @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); mMapView.onRestoreInstanceState(savedInstanceState); }

为什么手机导航不可以在室内进行定位?为什么定位成功后偏离实际位置较远?手机可以实现语音导航功能吗?

1.?? 这个和GPS 信号相关,室内的GPS 信号很弱,手机无法搜索到GPS 卫星。

2.?? 这个和GPS 卫星的精度,以及地图的精确度有关。

3.?? 语音导航需要导航软件支持。

该答案来自华为官方网站

BuyVM($5/月),1Gbps不限流量流媒体VPS主机

BuyVM针对中国客户推出了China Special - STREAM RYZEN VPS主机,带Streaming Optimized IP,帮你解锁多平台流媒体,适用于对于海外流媒体有需求的客户,主机开设在拉斯维加斯机房,AMD Ryzen+NVMe磁盘,支持Linux或者Windows操作系统,IPv4+IPv6,1Gbps不限流量,最低月付5加元起,比美元更低一些,现在汇率1加元=0.7...

618云上Go:腾讯云秒杀云服务器95元/年起,1C2G5M三年仅288元起

进入6月,各大网络平台都开启了618促销,腾讯云目前也正在开展618云上Go活动,上海/北京/广州/成都/香港/新加坡/硅谷等多个地区云服务器及轻量服务器秒杀,最低年付95元起,参与活动的产品还包括短信包、CDN流量包、MySQL数据库、云存储(标准存储)、直播/点播流量包等等,本轮秒杀活动每天5场,一直持续到7月中旬,感兴趣的朋友可以关注本页。活动页面:https://cloud.tencent...

RackNerd:美国便宜VPS,洛杉矶DC-02/纽约/芝加哥机房,4TB月流量套餐16.55美元/年

racknerd怎么样?racknerd美国便宜vps又开启促销模式了,机房优秀,有洛杉矶DC-02、纽约、芝加哥机房可选,最低配置4TB月流量套餐16.55美元/年,此外商家之前推出的最便宜的9.49美元/年套餐也补货上架,同时RackNerd美国AMD VPS套餐最低才14.18美元/年,是全网最便宜的AMD VPS套餐!RackNerd主要经营美国圣何塞、洛杉矶、达拉斯、芝加哥、亚特兰大、新...

手机室内导航为你推荐
社会网络分析青少年上网情况调查与分析销售报表销售报表的作用是什么?计算机网络的定义计算机的网络定义是什么?它有哪两种网络?开发管理项目管理有几个阶段?现在网现在网上到处都是招聘带车司机的工作是真的吗?查杀木马如何手动查杀木马2g内存条电脑内存2G和4G的区别查看加密空间怎么看加密的qq空间照片ps是什么意思照片上的PS是什么意思?信息发布管理系统信息发布系统的构架区别
免费vps 七牛优惠码 博客主机 isatap 好玩的桌面 最好的空间 phpmyadmin配置 网络空间租赁 免费网页申请 优酷黄金会员账号共享 中国联通宽带测速 服务器硬件配置 卡巴斯基官网下载 apnic 重庆联通服务器托管 restart cx域名 qq空间打开很慢 linuxvi命令 cc攻击 更多