谷歌地图Android api V2激活指南针和倾斜模式

时间:2013-07-02 10:58:39

标签: android google-maps android-mapview android-maps

我正在开发一个显示Google地图的Android应用程序。我希望此地图以用户位置为中心,并旋转到用户方向和倾斜。 所描述的行为可以在Google地图应用程序中看到;单击“位置”按钮一次后,它会将地图置于您的位置中心。再次单击时,它会实现所描述的行为。

如何使用Google Maps API实现这一目标?我可以通过编程方式激活它吗?
有什么建议吗?

2 个答案:

答案 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移动地图的“相机”

希望这有帮助!