当前位置: 首页 > wzjs >正文

简单的网站建设公司网站推广成本

简单的网站建设公司,网站推广成本,舜元建设 集团 有限公司网站,为什么小城市做不出来好的网站一、常用方案 1、使用LocationManager GPS和网络定位 缺点:个别设备,室内或者地下停车场获取不到gps定位,故需要和网络定位相结合使用 2、使用Google Play服务 这种方案需要Android手机中有安装谷歌服务,然后导入谷歌的第三方库: 例如:i…

一、常用方案

1、使用LocationManager GPS和网络定位

缺点:个别设备,室内或者地下停车场获取不到gps定位,故需要和网络定位相结合使用

2、使用Google Play服务

这种方案需要Android手机中有安装谷歌服务,然后导入谷歌的第三方库:

例如:implementation 'com.google.android.gms:play-services-location:20.0.0'

缺点:一些厂商可能会阉割掉谷歌服务

3、使用第三方地图定位

缺点:该方法准确度较高,但需要在第三方平台注册账号和集成key

这里介绍第一种方案,如果获取不到gps,先通过网络定位获取,然后再尝试去获取gps

博主这里就遇到同一个地方,小米可以通过gps获取到数据,但一加的两个手机,都无法通过gps获取到经纬度,故只能先从网络获取经纬度

二、方案实现

class LocationManagerUtil {val TAG: String = "LocationManagerUtil_"var mLocationManager:LocationManager?=nullvar mLocationListener:LocationListener?=nullvar isSendLocation=truecompanion object {private var singleInstance: LocationManagerUtil? = nullget() {// 懒汉模式if (null == field) {field = LocationManagerUtil()}return field}@Synchronized // 添加注解,线程同步,线程安全fun getInstance(): LocationManagerUtil {return singleInstance!!}}fun registerListener(callback: LocationCallback){isSendLocation=trueunRegisterListener()mLocationManager = WebrtcSdkApplication.instance.getSystemService(Context.LOCATION_SERVICE) as LocationManager?mLocationListener = object : LocationListener {override fun onLocationChanged(location: Location) {if(location!=null){// 当位置发生变化时调用val latitude = location.latitudeval longitude = location.longitudeval provider=location.provider// 使用位置信息XLogUtil.d("${TAG}onLocationChanged longitude:$longitude,,,latitude:$latitude")//在室内或者地下室,gps可能会获取不到地位,这时先根据网络定位,待获取到gps值后,关闭监听if(provider==LocationManager.GPS_PROVIDER){isSendLocation=falseunRegisterListener()callback.onLocationChanged(longitude,latitude)}else if(provider==LocationManager.NETWORK_PROVIDER){if(isSendLocation){callback.onLocationChanged(longitude,latitude)}isSendLocation=false}}else{XLogUtil.d("${TAG}onLocationChanged location==null")}}override fun onStatusChanged(provider: String, status: Int, extras: Bundle) {// 当GPS状态改变时调用}override fun onProviderEnabled(provider: String) {// 当选中的位置提供者被激活时调用}override fun onProviderDisabled(provider: String) {// 当选中的位置提供者被停用时调用}}if (ActivityCompat.checkSelfPermission(WebrtcSdkApplication.instance,Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(WebrtcSdkApplication.instance,Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {//Toast.makeText(WebrtcSdkApplication.instance,WebrtcSdkApplication.instance.getString(R.string.please_enable_location_permissions_in_settings),Toast.LENGTH_SHORT).show()XLogUtil.d("${TAG}checkSelfPermission 定位权限未授权")}mLocationManager?.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000L, 5f,mLocationListener!!)//更新间隔1000毫秒,距离间隔5米mLocationManager?.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000L, 5f,mLocationListener!!)//更新间隔1000毫秒,距离间隔5米}fun unRegisterListener(){if(mLocationListener!=null){mLocationManager?.removeUpdates(mLocationListener!!)mLocationManager=nullmLocationListener=null}}}

三、相关权限

  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" <uses-permission android:name="android.permission.INTERNET" /><!--定位权限--><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION"/>//以下两个权限需要动态申请权限
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

四、判断是否打开了gps

    val locationManager = getSystemService(Context.LOCATION_SERVICE) as LocationManagerif (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {// 提示用户开启GPSval intent = Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS)startActivity(intent)}

五、获取的经纬度在不同地图上显示不一致问题解答

GPS获得的经纬度所用的坐标系和谷歌地图、百度地图上的坐标系是不同的,GPS硬件获得的经纬度是WGS-84标准,国际通用,
可以看成是正常的GPS位置,在google earth上全部坐标,谷歌地图上除中国以外的坐标均为这个标准,但是谷歌地图的中国坐标使用的是GCJ-02标准,
是天朝测绘局在WGS-84的基础上加入随机偏差加密后的一种经纬度,会随机偏移一公里左右,所以导致无论怎样定位总是显示不对。
而百度地图在GCJ-02上又加入了自己的加密算法,变成了BD-09标准,另外其他很多的地图都有自己的加密方法。
这些都是硬件获取经纬度在地图上指示不对的原因,网上有免费做转换的网站,
在这里推荐一个:http://map.yanue.NET/gps.html,如果发现GPS定位结果总是有误差,可以用这个转换一下

经纬度转换为地点:【经纬度查询】在线地图经度纬度查询|经纬度地名坐标转换


文章转载自:

http://Wt0pGqLe.dwtdn.cn
http://ncjlT7hB.dwtdn.cn
http://gWMTjYxD.dwtdn.cn
http://WtmpoWUY.dwtdn.cn
http://gO0yP1GP.dwtdn.cn
http://9HGECWwJ.dwtdn.cn
http://ThRUthFe.dwtdn.cn
http://XhuHlmWK.dwtdn.cn
http://rKAebGCb.dwtdn.cn
http://apWhSrQr.dwtdn.cn
http://LYaJB2AQ.dwtdn.cn
http://2vBE9mT9.dwtdn.cn
http://0Kd7Np9h.dwtdn.cn
http://TEK9lqQj.dwtdn.cn
http://mqIAM0kN.dwtdn.cn
http://wyAJzqxK.dwtdn.cn
http://CiW5HfSd.dwtdn.cn
http://Cj6uq3o6.dwtdn.cn
http://fa0A6cgQ.dwtdn.cn
http://5Hu0VNSJ.dwtdn.cn
http://Ktm0g8yk.dwtdn.cn
http://FkV0C5JR.dwtdn.cn
http://A7stDC97.dwtdn.cn
http://6zExppoP.dwtdn.cn
http://xuIRDuJC.dwtdn.cn
http://w8jlSDyU.dwtdn.cn
http://9H2OAmFM.dwtdn.cn
http://CuC3rjXt.dwtdn.cn
http://Tg3AlE7K.dwtdn.cn
http://UCpjILSa.dwtdn.cn
http://www.dtcms.com/wzjs/761612.html

相关文章:

  • 免费网站建设魔坊中山网站建设文化策划书
  • 阿里备案网站国内网站没备案
  • 凡科做网站的方法游戏网站建设流程图
  • 皋兰县城乡和住房建设局网站WordPress修改笔记
  • c 可以做网站吗织梦做公司网站要钱吗
  • 怎么创建一个网站卖东西html期末大作业个人网站制作
  • wordpress建站安全性卡盟代网刷24小时自助下单
  • 网站推广专家十年乐云seowordpress添加跳转页面模板
  • 哪些网站可以免费做产品推广网站怎么做充值系统
  • 竞价网站与竞价网站之间做友情链接做网站源码流程
  • xml网站地图格式saas建站平台
  • 工程建设造价全过程监督网站旅游产业网站app建设的市场分析
  • 国际贸易官方网站个人网站建设怎么赚钱
  • 谷歌搜索排名seo怎样才能优化网站
  • 官网建站网站园区 网站建设策划方案
  • 企业网络营销策略深圳关键词推广整站优化
  • 广东睿营建设有限公司网站三室两厅两卫装修实景
  • 大型门户网站建设 费用做网站背景图片浪漫爱情
  • 广州网站制作开发公司济南制作网站企业
  • 58同城网站招聘怎么做企业的网站建设文章
  • 肇庆住房和城乡建设部网站什么样的资质做电子商务网站
  • 江苏省张家港保税区建设厅网站html单页模板
  • 装修网站怎么做长链接在线转化短链接
  • 省级建设网站软件开发工程师证书怎么考
  • 网站后台登录不显示验证码关于进一步优化 广州
  • 网站备案回访电话号码如何提高网站收录
  • 自己搞网站做外贸阿里云上的网站建设
  • 行业网站运营苏州个人网站制作
  • 做哪些网站比较赚钱方法有哪些中国品牌加盟网
  • 番禺龙美村做网站长沙做网站 青创互联