1

我正在使用下面的代码在 Google 地图(android API v2)上以 5 度的间隔绘制一堆垂直线。一切都很好,直到缩小到大约缩放级别 5.1,此时我的所有线条都消失了。这是我的代码中的错误,还是地图 API 故意做的事情?我怎样才能让这些线条在所有缩放比例上都显示出来?

非常感谢。

if (gMap != null)   {
            double lat = loc_service.getLatitude();
            double lng = loc_service.getLongitude();
            LatLngBounds bounds = new LatLngBounds(new LatLng(lat-(MAP_WIDTH/2), lng-(MAP_WIDTH/2)), new LatLng(lat+(MAP_WIDTH/2), lng+(MAP_WIDTH/2)));
            CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, 720, 720, 0);
            gMap.setMyLocationEnabled(true);
            gMap.moveCamera(cu);

            // initialize the time marker AT ONE  MINUTE INTERVALS
            time_markers = new ArrayList<Polyline>();
            // calculate distance to zero-second mark
            double offset = getLngOffset();
            for (int i=-MARK_RNG; i<MARK_RNG; i++)  {
                PolylineOptions plOptions = new PolylineOptions()
                    .add(new LatLng(90, (lng-offset + (i*5))))
                    .add(new LatLng(-90, (lng-offset + (i*5))))
                    .width(2)
                    .color(Color.BLUE);

                time_markers.add(gMap.addPolyline(plOptions));
            }
        }
4

1 回答 1

1

这似乎是 Google Play 服务库中的一个错误,类似于前段时间报告的错误。

我刚试过

map.addPolyline(new PolylineOptions()
        .add(new LatLng(90, 5))
        .add(new LatLng(-90, 5))
        .width(2)
        .color(Color.BLUE));

并且它在低缩放级别和放大后从0,0到绘制一条线。两者当然都是不正确的。0,50,590,5

一种解决方法是85改用

map.addPolyline(new PolylineOptions()
        .add(new LatLng(85, 5))
        .add(new LatLng(-85, 5))
        .width(2)
        .color(Color.BLUE));

但不要问我为什么它以这种方式正常工作......

您可能还想向链接的问题报告添加更多信息。

于 2013-08-04T17:07:19.250 回答