【发布时间】:2020-02-21 12:28:17
【问题描述】:
private lateinit var fusedLocationClient: FusedLocationProviderClient
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val name=findViewById(R.id.editText) as TextView
var text=""
locationManager = getSystemService(LOCATION_SERVICE) as LocationManager?
val button =findViewById(R.id.button) as Button
var mainlink=""
if(ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
val adresstext= findViewById(R.id.editText3)as TextView
var deneme=""
fusedLocationClient = LocationServices.getFusedLocationProviderClient(this)
fusedLocationClient.lastLocation.addOnSuccessListener {
}
fusedLocationClient.lastLocation.addOnSuccessListener {
location -> location
var locationx=location.longitude
var locationy=location.latitude
val name = findViewById(R.id.textView) as TextView
var geocoder: Geocoder
var listadress :List<Address>
geocoder = Geocoder(this, Locale.getDefault());
listadress =geocoder.getFromLocation(locationy,locationx,1)
var adress=listadress[0].getAddressLine(0)
adresstext.text=adress
text=deneme
mainlink="http://maps.google.com/maps?q="+locationy+","+locationx+""
mainlink=mainlink+" "+text
text=mainlink
}
}
else
{
val permission= arrayOf(android.Manifest.permission.ACCESS_FINE_LOCATION)
ActivityCompat.requestPermissions(this, permission,0)
}
一切都很好,但是当它定位时,它离我有 200m 远。我怎样才能使它更准确? 我为我的设备获取经度和纬度,但是当我在谷歌地图中显示时,它给出了 200 米外的位置,我检查了经度纬度和谷歌地图。 而且经纬度的失败离我很远。
【问题讨论】: