如何使谷歌地图中心的图像图钉与位置对齐,而不是在Android中底部对齐

问题描述 投票:0回答:2

我正在制作一个 Android 应用程序,并且我有一个图像标记(一个圆圈)。当它位于地图上时,圆圈的底部与该位置对齐,而不是与圆圈的中心对齐。我该如何解决这个问题?

mMap!!.addMarker(
                MarkerOptions().position(LatLng(location!!.latitude, location!!.longitude)).title("Me").snippet("My Location").icon(
                    BitmapDescriptorFactory.fromResource(R.drawable.circle)
                )
            )
android google-maps google-maps-markers
2个回答
3
投票

可以通过这个参数来定位:

.anchor(x, y)

使用示例:

googleMap.addMarker(new MarkerOptions()
                    .position(new LatLng(latitude, longitude))
                    .anchor(0.5f, 1.0f)
                    .title("title")
                    .snippet("snippet"));

0
投票

如上所述,使用

MarkerOptions.anchor(x, y)

要将标记与中心对齐,请使用

MarkerOptions.anchor(0.5f, 0.5f)

它可以在您通过调用

googleMap.addMarker()

手动添加标记的地方制作
googleMap.addMarker(
  MarkerOptions()
      .position(LatLng(latitude, longitude))
      .anchor(0.5f, 0.5f)
)

或者当您使用 ClusterRenderer 时。例如

class ClusterRenderer() : DefaultClusterRenderer<ClusterItem>() {

  override fun onBeforeClusterRendered(
    cluster: Cluster<ClusterItem>,
    markerOptions: MarkerOptions,
  ) {
    markerFactory.createCluster(cluster, markerOptions.anchor(0.5f, 0.5f))
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.