我正在尝试仅在缩放级别为18时在地图上绘制网格。我使用以下代码成功创建了网格。但是当我移动地图时,我会遇到一个问题,即创建新网格并改变位置。您可以在右侧图像的屏幕截图中看到我将地图向左滑动,网格线不相同。我想要绘制固定网格。代码张贴在图片下方。 我正在调用来自GoogleMap的onCameraChange监听器的代码。
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);
}
答案 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
希望这会对你有所帮助。