【问题标题】:How to display google maps in 2D view?如何在 2D 视图中显示谷歌地图?
【发布时间】:2017-02-15 16:31:05
【问题描述】:

我按照本教程创建了自定义地图样式

https://www.youtube.com/watch?v=sLZxAB1el6w

我现在面临的问题是,我想在默认情况下以 2D 视图而不是地球 3D 视图显示地图,我不想启用指南针,我相信您可以使用它在 2 个视图之间切换。

如果您能分享有关此的任何信息,那将非常有帮助。

谢谢

【问题讨论】:

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


【解决方案1】:

据我所知,没有一个选项可以将 2D 视图限制为只有一个选项。

但是您可以像这样更改设置。

GoogleMapOptions options = new GoogleMapOptions();
options.compassEnabled(false);
options.tiltGesturesEnabled(false);
options.rotateGesturesEnabled(false);

MapView mapView = new MapView(context, options);
mapView.getMapAsync(new OnMapReadyCallback() {
  @Override
  public void onMapReady(GoogleMap map) {

  }
});

更多选项,查看文档 https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMapOptions

【讨论】:

  • 更改设置并没有任何区别。
【解决方案2】:

我认为您正在寻找的是 MapType:

@Override
public void onMapReady(GoogleMap map) {
    mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
}

来自 api 文档:

public static final int MAP_TYPE_HYBRID

带有透明层主要街道的卫星地图。

public static final int MAP_TYPE_NONE

没有基本地图图块。

public static final int MAP_TYPE_NORMAL

基本地图。

public static final int MAP_TYPE_SATELLITE

没有标签的卫星地图。

public static final int MAP_TYPE_TERRAIN

地形图。

希望这会有所帮助。

【讨论】:

  • 不行,因为样式是通过 JSON 文件应用的,如视频中所述。
【解决方案3】:

对于您的谷歌地图实例,使用 animateCamera 方法并将 CameraBuilder 实例的倾斜度固定为 0 度。

public void onMapReady(GoogleMap googleMap) {
    CameraPosition cameraPosition = new 
    CameraPosition.Builder().target(your_lat_long).zoom(16).tilt(0).build();

    googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多