我正在开发一个显示Google地图的Android应用程序。我希望此地图以用户位置为中心,并旋转到用户方向和倾斜。 所描述的行为可以在Google地图应用程序中看到;单击“位置”按钮一次后,它会将地图置于您的位置中心。再次单击时,它会实现所描述的行为。
如何使用Google Maps API实现这一目标?我可以通过编程方式激活它吗?
有什么建议吗?
答案 0 :(得分:2)
要将地点设置为地图的中心,请使用:
map.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(lat, lng)));
然后你应该真正看一下文档中的CameraPosition.Builder()
类。您将获得所有答案,但我将向您展示如何使用它的示例:
CameraPosition cameraPosition = new CameraPosition.Builder().
target(location).
tilt(degrees).
zoom(zoom).
bearing(bearing).
build();
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
答案 1 :(得分:0)
@ Carnal的回答很有帮助,但我认为它并不能完全回答你的问题。
很遗憾,Google仍然没有将此功能应用于Google Maps API,因此您必须手动执行此操作。
首先,你需要创建一个 Private Sub Channel_2(Points2, dTime2, dData2)
Dim rows2 As Long
Dim i2 As Long
Agt54600Scope1.GetWaveformData 2, Points2, dTime2, dData2
rows2 = UBound(dData2, 1)
ReDim data2(rows2, 1)
For i2 = 1 To rows2
data2(i2, 0) = dTime2(i2)
data2(i2, 1) = dData2(i2)
Next i2
With MSChart2
.Plot.Axis(VtChAxisIdX).CategoryScale.Auto = False
.Plot.Axis(VtChAxisIdX).CategoryScale.DivisionsPerTick = Points2 / 10
.Plot.Axis(VtChAxisIdX).CategoryScale.DivisionsPerLabel = Points2 + 1
.Plot.SeriesCollection(1).Position.Excluded = True
.chartType = VtChChartType2dLine
.ChartData = data2
End With
End Sub
作为@Carnal演示。
其次,如果你想让地图以指南针的方式旋转,那么有很多很棒的教程可以获得罗盘值。这是一个:http://www.journal.deviantdev.com/android-compass-azimuth-calculating(使用CameraPosition
上.bearing()
属性的罗盘值
最后,请致电CameraPosition
移动地图的“相机”
希望这有帮助!