Android Google Map v2绘制静态网格

时间:2017-02-14 15:57:14

标签: android android-maps-v2 android-maps-utils

我正在尝试仅在缩放级别为18时在地图上绘制网格。我使用以下代码成功创建了网格。但是当我移动地图时,我会遇到一个问题,即创建新网格并改变位置。您可以在右侧图像的屏幕截图中看到我将地图向左滑动,网格线不相同。我想要绘制固定网格。代码张贴在图片下方。 我正在调用来自GoogleMap的onCameraChange监听器的代码。 enter image description here

double squareSize = 5.0d; //5.0d == 50feet
final double LONGITUDE_180 = 180.0d;
final double LATITUDE_90 = 90.0d;
final double PI = 3.141592653589793d;
  

代码删除了它的机密。

drawPolyline函数绘制单行

private void drawPolyline(LatLng latLng, LatLng latLng2) {
        PolylineOptions polylineOptions = new PolylineOptions();
        polylineOptions.add(latLng, latLng2);
        polylineOptions.color(Color.argb(50, 0, 0, 100));
        polylineOptions.width(3.5f);
        polylineOptions.visible(true);
        polylineOptions.geodesic(true);
        Polyline polyline = googleMap.addPolyline(polylineOptions);

        this.polylines.add(polyline);
    }

1 个答案:

答案 0 :(得分:1)

double squareSize = 5.0d; //5.0d == 50feet

这不是方形尺寸改变它。

double squareSize = 1.0d;

然后它会工作正常,但网格大小将是3米,如what3words。 使其在15米处接近50英尺,将 1546.0d 37104.0d 划分为 5.

37104.0d 等于 1546.0d * 24

最好在变量中提取所有这些值并将它们用作。

double var1 = 1546.0d / 5;   // replace with value 1546.0
double var2 = var1 * 24; // replace with value 37104.0d

希望这会对你有所帮助。