package com.example.location import android.annotation.SuppressLint import android.content.pm.PackageManager import android.location.Location import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.support.v4.app.ActivityCompat import android.widget.Button import android.widget.TextView import com.google.android.gms.location.FusedLocationProviderClient import com.google.android.gms.location.LocationServices class MainActivity : AppCompatActivity() { private lateinit var userLocationProviderClient: FusedLocationProviderClient private var userAgreePermissionCode = 1 @SuppressLint("SetTextI18n") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // 檢查並要求權限 => "onRequestPermissionsResult" val currentPermission = ActivityCompat.checkSelfPermission(this,android.Manifest.permission.ACCESS_FINE_LOCATION) if( currentPermission!=PackageManager.PERMISSION_GRANTED ) ActivityCompat.requestPermissions(this, arrayOf(android.Manifest.permission.ACCESS_FINE_LOCATION), userAgreePermissionCode) // 想在這邊只更新一次定位接著用 lastLocation 抓出座標 // 要怎麼寫??? // 獲取上一次定位座標按鈕 findViewById<Button>(R.id.Locate).setOnClickListener{ userLocationProviderClient = LocationServices.getFusedLocationProviderClient(this) userLocationProviderClient.lastLocation.addOnSuccessListener { location : Location? -> // 獲取上一次定位的座標 => 但如果沒紀錄可能為空 if( (location?.longitude!=null) ){ val userLongitude = location.longitude // findViewById<TextView>(R.id.Longitude).text = userLongitude.toString() } if(location?.latitude!=null){ val userLatitude = location.latitude // findViewById<TextView>(R.id.Latitude).text = userLatitude.toString() } } } // 重置按鈕執行 findViewById<Button>(R.id.Reset).setOnClickListener{ // findViewById<TextView>(R.id.Longitude).text = "經度(Longitude)" // findViewById<TextView>(R.id.Latitude).text = "緯度(Latitude)" } // 離開按鈕執行 findViewById<Button>(R.id.Close).setOnClickListener{ finish() } } // ---------------------------------------------------- override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) { when (requestCode) { userAgreePermissionCode -> { if ((grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED)){ // Permission was granted. }else{ // Permission denied. finish() } } // Other else -> {} } } // ---------------------------------------------------- }
Standard input is empty
Main.java:1: error: ';' expected package com.example.location ^ Main.java:3: error: ';' expected import android.annotation.SuppressLint ^ Main.java:4: error: ';' expected import android.content.pm.PackageManager ^ Main.java:5: error: ';' expected import android.location.Location ^ Main.java:6: error: ';' expected import android.support.v7.app.AppCompatActivity ^ Main.java:7: error: ';' expected import android.os.Bundle ^ Main.java:8: error: ';' expected import android.support.v4.app.ActivityCompat ^ Main.java:9: error: ';' expected import android.widget.Button ^ Main.java:10: error: ';' expected import android.widget.TextView ^ Main.java:11: error: ';' expected import com.google.android.gms.location.FusedLocationProviderClient ^ Main.java:12: error: ';' expected import com.google.android.gms.location.LocationServices ^ Main.java:16: error: '{' expected class MainActivity : AppCompatActivity() { ^ Main.java:18: error: ';' expected private lateinit var userLocationProviderClient: FusedLocationProviderClient ^ Main.java:18: error: <identifier> expected private lateinit var userLocationProviderClient: FusedLocationProviderClient ^ Main.java:18: error: <identifier> expected private lateinit var userLocationProviderClient: FusedLocationProviderClient ^ Main.java:21: error: illegal start of expression @SuppressLint("SetTextI18n") ^ Main.java:21: error: ';' expected @SuppressLint("SetTextI18n") ^ Main.java:22: error: <identifier> expected override fun onCreate(savedInstanceState: Bundle?) { ^ Main.java:22: error: ';' expected override fun onCreate(savedInstanceState: Bundle?) { ^ Main.java:22: error: illegal start of type override fun onCreate(savedInstanceState: Bundle?) { ^ Main.java:22: error: <identifier> expected override fun onCreate(savedInstanceState: Bundle?) { ^ Main.java:22: error: ';' expected override fun onCreate(savedInstanceState: Bundle?) { ^ Main.java:23: error: illegal start of type super.onCreate(savedInstanceState) ^ Main.java:23: error: <identifier> expected super.onCreate(savedInstanceState) ^ Main.java:23: error: ';' expected super.onCreate(savedInstanceState) ^ Main.java:23: error: illegal start of type super.onCreate(savedInstanceState) ^ Main.java:23: error: ';' expected super.onCreate(savedInstanceState) ^ Main.java:24: error: invalid method declaration; return type required setContentView(R.layout.activity_main) ^ Main.java:24: error: <identifier> expected setContentView(R.layout.activity_main) ^ Main.java:24: error: ';' expected setContentView(R.layout.activity_main) ^ Main.java:34: error: illegal start of type findViewById<Button>(R.id.Locate).setOnClickListener{ ^ Main.java:34: error: '(' expected findViewById<Button>(R.id.Locate).setOnClickListener{ ^ Main.java:34: error: illegal start of type findViewById<Button>(R.id.Locate).setOnClickListener{ ^ Main.java:34: error: ';' expected findViewById<Button>(R.id.Locate).setOnClickListener{ ^ Main.java:34: error: <identifier> expected findViewById<Button>(R.id.Locate).setOnClickListener{ ^ Main.java:34: error: illegal start of type findViewById<Button>(R.id.Locate).setOnClickListener{ ^ Main.java:34: error: ';' expected findViewById<Button>(R.id.Locate).setOnClickListener{ ^ Main.java:35: error: ';' expected userLocationProviderClient = LocationServices.getFusedLocationProviderClient(this) ^ Main.java:36: error: not a statement userLocationProviderClient.lastLocation.addOnSuccessListener { location : Location? -> ^ Main.java:36: error: ';' expected userLocationProviderClient.lastLocation.addOnSuccessListener { location : Location? -> ^ Main.java:36: error: illegal start of expression userLocationProviderClient.lastLocation.addOnSuccessListener { location : Location? -> ^ Main.java:39: error: illegal start of expression if( (location?.longitude!=null) ){ ^ Main.java:36: error: not a statement userLocationProviderClient.lastLocation.addOnSuccessListener { location : Location? -> ^ Main.java:39: error: ';' expected if( (location?.longitude!=null) ){ ^ Main.java:39: error: illegal start of expression if( (location?.longitude!=null) ){ ^ Main.java:39: error: not a statement if( (location?.longitude!=null) ){ ^ Main.java:39: error: ';' expected if( (location?.longitude!=null) ){ ^ Main.java:40: error: ';' expected val userLongitude = location.longitude ^ Main.java:43: error: illegal start of expression if(location?.latitude!=null){ ^ Main.java:44: error: ';' expected val userLatitude = location.latitude ^ Main.java:51: error: <identifier> expected findViewById<Button>(R.id.Reset).setOnClickListener{ ^ Main.java:51: error: <identifier> expected findViewById<Button>(R.id.Reset).setOnClickListener{ ^ Main.java:51: error: ';' expected findViewById<Button>(R.id.Reset).setOnClickListener{ ^ Main.java:57: error: <identifier> expected findViewById<Button>(R.id.Close).setOnClickListener{ ^ Main.java:57: error: <identifier> expected findViewById<Button>(R.id.Close).setOnClickListener{ ^ Main.java:57: error: ';' expected findViewById<Button>(R.id.Close).setOnClickListener{ ^ Main.java:58: error: ';' expected finish() ^ Main.java:63: error: class, interface, or enum expected override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) { ^ 58 errors
Standard output is empty