我使用下面的代码在Google地图上以5度的间隔绘制一堆垂直线(android API v2)。一切都很好,直到缩小到大约缩放级别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));
}
}
答案 0 :(得分:0)
这似乎是Google Play服务库中的错误,类似于前一段时间的the one I reported。
我刚试过
map.addPolyline(new PolylineOptions()
.add(new LatLng(90, 5))
.add(new LatLng(-90, 5))
.width(2)
.color(Color.BLUE));
并且在放大后从0,0
到0,5
以及从0,5
到90,5
之间绘制一条线。两者当然都是不正确的。
解决方法是使用85
代替
map.addPolyline(new PolylineOptions()
.add(new LatLng(85, 5))
.add(new LatLng(-85, 5))
.width(2)
.color(Color.BLUE));
但不要问我为什么这样正常工作......
您可能还想在链接的问题报告中添加更多信息。