【发布时间】:2023-03-30 11:27:01
【问题描述】:
您好,我想使用 placeID 获取地点详细信息,并使用 kotlin 在 android 地图活动中添加标记。我已经用 latlng 完成了,但没有用 placeID 。可以请任何帮助。 我的代码带有 latlng 。
override fun onMapReady(googleMap: GoogleMap) {
mMap = googleMap
val mdis= LatLng(1.301440, 103.847980)
mMap.addMarker(MarkerOptions().position(mdis).title("MDIS").icon(BitmapDescriptorFactory.fromResource(R.drawable.icon)))
mMap.moveCamera(CameraUpdateFactory.newLatLng(mdis))
mMap.animateCamera(CameraUpdateFactory.zoomIn())
mMap.animateCamera(CameraUpdateFactory.zoomTo(15F),2000,null)
mMap.uiSettings.isZoomControlsEnabled=true
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
mMap.isMyLocationEnabled = true
}
else {//condition for Marshmello and above
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), MY_PERMISSION_FINE_LOCATION)
}
}
mMap.setOnMarkerClickListener(this)
}
试过了,在 placesClient.fetchPlace(request).addOnSuccessListener(response) 处出现错误 ->{ 错误说需要类型不匹配:OnSuccessListener 找到:FetchplaceResponse
这是我更新的代码:
override fun onMapReady(googleMap: GoogleMap) {
mMap = googleMap
var mdisplaceId = "ChIJRwCirzca2jERhd68E52R_2Q"
//val placesClient = Places.createClient(this)
var placeFields : List<Place.Field>
placeFields = Arrays.asList(Place.Field.ID , Place.Field.NAME)
var request : FetchPlaceRequest
request = FetchPlaceRequest.newInstance(mdisplaceId, placeFields)
lateinit var response : FetchPlaceResponse
lateinit var placesClient : PlacesClient
placesClient.fetchPlace(request).addOnSuccessListener(response) ->{ //error at this line near response
var place : Place
place = response.getPlace()
})
}
【问题讨论】:
-
尝试了第二个链接 // 定义地点 ID。字符串 placeId = "INSERT_PLACE_ID_HERE"; // 指定要返回的字段。 List
placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME); // 构造一个请求对象,传递地点 ID 和字段数组。 FetchPlaceRequest 请求 = FetchPlaceRequest.newInstance(placeId, placeFields); placesClient.fetchPlace(request).addOnSuccessListener((response) -> { })。尝试在这行代码中出现错误 placesClient.fetchPlace(request).addOnSuccessListener((response) -> -
您可以编辑您的问题并将此代码放入其中吗?
-
@ChintanSoni 完成编辑请检查
标签: android google-maps kotlin