androidgeo
A. 怎样在android模拟器模拟定位GPS功能
在模拟器上获取GPS信息时,使用Location loc = LocationManager.getLastKnownLocation("gps");来获取location信息,但是往往在调试中loc是null的,因为首先需要在模拟器中手动添加GPS信息,有两种手动添加方法
1、在eclipse下,windows-->open perspective-->DDMS-->Emulator control-->Manual下手动设置经纬度,并按send按钮。
2、在cmd下手动添加信息。
(1)首先打开模拟器,然后运行cmd,输入telnet localhost 5554(注:5554是模拟器在本机的端口,有可能不一样哈,具体端口号,模拟器左上方有显示的),这样会出现
Android Console: type 'help' for a list of commands
OK的字样。
如果是使用WIN7的朋友,控制台可能会提示telnet无效什么的,那是因为WIN7下默认是不出现telnet的,需要手动打开。具体为:[1]控制面板-->程序-->打开或关闭Windows功能,然后将Telnet服务器和Telnet客户端勾选上。[2]然后在管理工具-->服务中手动启动Telnet
(2)使用geo命令模拟发送GPS信号:
geo fix 经度 纬度
(3)这时就会发现在模拟器的状态栏上多了一个GPS的标志~再使用Location loc = LocationManager.getLastKnownLocation("gps");就能获取到该坐标的位置了~~
B. Android Go 简述与其GMS认证
本文主要包括两个方面的内容:
1、Android Go介绍
2、Android Go 的GMS认证相关要求
Android Go 是 google 基于 Android8.x之后的系统,提出的一个轻量级操作系统解决方案,可以在低内存的设备上以较好的体验运行Android系统。
Android Go 对手机的配置要求较低,最低为512M的内存,通常会在不超过1GB 内存的设备上运行。Android Go 是谷歌在新兴市场进一步扩展 Android 系统计划的一部分,其较低的价格能够涵盖大部分低端用户。
Android Go版本的一些特性:
Android Go的官方网站: https://www.android.com/versions/oreo-8-0/go-edition/
Android Go 包含三个方面的优化 : 操作系统,谷歌Play商店,谷歌应用程序 ,将能更好地运行在入门设备上。
体积更小的应用程序,更多的可用存储空间,以及多样的内容的存储方式
通过使用增强型应用程序和一些新应用程序,构建快速流畅的手机体验,可以比以往更快地发送邮件,获取答案,查找路线和玩游戏。
通过一个内置的数据管理器和更多的选项来对流量进行检测和管理,而不仅仅是控制流量的使用。
Android Go在用户安全方面也没有妥协,具有和Android Oreo相同的关键安全服务,带有Google Play Protect内置的移动安全功能,可保护应用程序和数据的安全
这些应用的特征都是占用空间小,速度流畅,就是所谓的轻量化。以Google Go为例,与之前版本相比它最多消耗 40% 的流量,安装包大小不超过 5MB,使用体验更快也更加简单。
下图为GMS Express Plus、Go Reauirement以及GMS Express Plus for GO三种认证方式对google APP的要求:
Android Go版本以GMS Express plus方式过认证的要求如下:
注意点:
1、Youtube&Youtube Go 依据Geo-table放置在主页面上
2、Messaging和Chrome需要放置在hotseat,其中Chrome要设置为默认浏览器
3、其他的按照一般GMS配置
C. 百度android地图怎么获取当前屏幕中心点的坐标
true]GeoPoint centerPoint = mapview.getMapCenter();// 地图中心坐标 int tbSpan = mapview.getLatitudeSpan();// 当前纬线的跨度(从地图的上边缘到下边缘) int lrSpan = mapview.getLongitudeSpan();// 当前经度的跨度(从地图的左边缘到地图的右边缘) GeoPoint ltPoint = new GeoPoint(centerPoint.getLatitudeE6() - tbSpan / 2, centerPoint.getLongitudeE6() - lrSpan / 2);// 左上角坐标 GeoPoint rbPoint = new GeoPoint(centerPoint.getLatitudeE6() + tbSpan / 2, centerPoint.getLongitudeE6() + lrSpan / 2);// 右下角坐标 查看原帖>>
D. android如何获取地理位置
三种方式进行定位,获取用户位置,分别是基于基站定位, 网络定位,GPS定位。
1.基站定位(passive):这是基于网络基站进行定位的,定位的精确度在几十米到几千米不等,在城市中基站覆盖率比较高,推荐使用基站定位,如果是在郊区,基站相距较远,基站的覆盖没有城里好,定位的误差比较大。如果在郊区不推荐使用基站定位。
2.网络定位:wifi定位,网络定位
3.GPS定位:与卫星进行通信。手机中嵌入了GPS模块(精简版的A-GPS),通过A-GPS搜索卫星, 获取经纬度。使用GPS的弊端是:必须站在空旷的地方,头顶对着天空,如果云层厚了,也会受到一定的影响。精确度:10-50米
扩展知识:
使用Android是定位必备的权限:
< uses-permission android:name= " android.permission.ACCESS_FINE_LOCATION " /> //精确定位
<uses-permission android:name= "android.permission.ACCESS_MOCK_LOCATION" /> //模拟器
<uses-permission android:name= "android.permission.ACCESS_COARSE_LOCATION" /> //粗糙定位
//获取定位管理对象
LocationManager lm=(LocationManager)getSystemService(LOCATION_SERVICE);
String[] names=lm.getAllProviders();//获取所有的位置提供者,一般三种
Criteria criteria=new Criteria();//查询条件,如果设置了海拔,则定位方式只能是GPS;
criteria.setCostAllowed(true);//是否产生开销,比如流量费
String provider=lm.getBaseProvider(criteria,true)//获取最好的位置提供者,第二个参数为true,表示只获取那些被打开的位置提供者
lm.requestLocationUpdates(provier,0,0,new LocationListener(){});//获取位置。第二个参数表示每隔多少时间返回一次数据,第三个参数表示被定位的物体移动每次多少米返回一次数据。
private class MyLocationListener implements LocationListener {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
@Override
public void onLocationChanged(Location location) {
System. out.println( "服务中位置监听发送了变化了" );
float accuracy = location.getAccuracy(); // 精确度
double altitude = location.getAltitude(); // 海拔
double latitude = location.getLatitude(); // 纬度
double longitude = location.getLongitude(); // 经度
String locationInfo = "jing:" + longitude + ",wei:" + latitude + ",haiba:" + altitude + ",jingque:" + accuracy;
Editor edit = sp.edit();
edit.putString( "location", locationInfo);
edit.commit();
}
} public void onProviderDisabled(String provider) {
}