【问题标题】:Android-Need to show marker's FOV on googleMap api 2Android-需要在 google Map api 2 上显示标记 FOV
【发布时间】:2014-05-09 13:58:35
【问题描述】:

我对 android 开发完全陌生。我正在使用 Google map api 2 并且可以成功地在地图上显示我的位置。现在我想显示我正在看的方向(即视野 FOV,-我的设备面向的方向),如本示例所示。我将不胜感激任何帮助。对不起我的英语:)

图片参考:Dynamically drawing polygons in Google map

【问题讨论】:

    标签: android google-maps


    【解决方案1】:

    尝试为您的 FOV 使用 GroundOverlay,此示例使用图像来显示 FOV:

    private GroundOverlay mFovOverlay;
    //** create the FOV **//
    private void createFov(LatLng userPosition, GoogleMap map, float bearing) {
    
        GroundOverlayOptions fov = new GroundOverlayOptions();              
        fov.position(userPosition, 100f);
        fov.anchor(0.5f, 1f);
        fov.image(BitmapDescriptorFactory.fromResource(R.drawable.fov));                
        fov.bearing(bearing);
        mFovOverlay = map.addGroundOverlay(fov);
    
    }
    
    //** change the FOV direction **//
    private void changeFovDirection(float bearing) {
        fovOverlay.setBearing(bearing);
    }
    

    如果您想根据设备方向更改 FOV 方向,请调用以度为单位的方位角的 changeFovDirection。这里的方位角是可以从设备传感器获得的方位角(参见What is the alternative to android orientation sensor?)。注意从弧度(传感器单位)转换为度数(GroundOverlay 方位单位),这是我在 onSensorChanged 方法中的 sn-p 代码:

    float azimut = orientation[0]; // orientation contains: azimut, pitch and roll
    float azimutDegrees = (float) (azimut * 180 / Math.PI);
    mapFragment.changeFovDirection(azimutDegrees);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-02
      • 1970-01-01
      • 2017-02-16
      • 2014-10-20
      • 2015-03-07
      • 1970-01-01
      相关资源
      最近更新 更多