Android Google Map v2 绘制静态网格

Posted

技术标签:

【中文标题】Android Google Map v2 绘制静态网格【英文标题】:Android Google Map v2 draw static grids 【发布时间】:2017-07-03 00:14:46 【问题描述】:

仅当缩放级别为 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);
    

【问题讨论】:

【参考方案1】:
double squareSize = 5.0d; //5.0d == 50feet

那不是方形的大小改成。

double squareSize = 1.0d;

然后它会正常工作,但网格大小将是 3 米,如三词地址。 为了使它接近 50 英尺的 15 米,将 1546.0d37104.0d5.

分开

37104.0d 等于 1546.0d * 24

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

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

希望这会对你有所帮助。

【讨论】:

以上是关于Android Google Map v2 绘制静态网格的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google Maps Android API v2 在两点之间绘制路径

捕获 Google Map Android API V2 的屏幕截图

如何在 Google Map Api V2 Android 中搜索?

Google Developer 控制台“Google Map Android API V2”选项未查看启用

android google map v2 在 gmap lstarts 上不断崩溃

捕获 Google Map Android API V2 的屏幕截图