2011-06-15 32 views
0

我使用下面的代码来放大可查看在MapView的所有点:Android的MapView类:与方法zoomToSpan问题的ItemizedOverlay

mMapController.zoomToSpan(myOverlay.getLatSpanE6(), myOverlay.getLonSpanE6()); 

它的工作原理,但它仅考虑一个问题但不覆盖,因而使我有以下结果:

problem illustration

反正是有解决这个问题?我在想,手动添加/减去一些纬度/经度getLatSpanE6()/ getLonSpanE6(),但这将是肮脏的,我不知道应该多少加/减。有没有人有任何想法?

谢谢!

回答

-1
mapView.setBuiltInZoomControls(true); 
MapController mapcontroller = mapView.getController(); 
mapcontroller.animateTo(gp); 
mapcontroller.setCenter(point) 
mapcontroller.setZoom(9); 

根据您的要求,如果你想在回答更加清晰那么首先你应该阅读有关givn方法,那么你了解Android的谷歌的文档集给定方法的价值。我希望你能用它解决你的问题。

+0

我不知道这些针点在第一的确切位置,所以我用zoomToSpan,使所有的人都在一个卵石可见的,因此,我不能确定是什么“中心“和我应该使用什么缩放级别。 – hzxu 2011-06-15 07:55:32

+0

我看不出这个答案与问题 – 2015-11-11 09:31:13

1

请参阅我的回答here

你要做的唯一不同的是考虑到覆盖项目,它的宽度的高度。

即 伪代码:

projection of (latitude) + width of one overlay 

projection of (longitude) + height of one overlay 
+0

有什么关系感谢您的回复,但如果我使用getLatSpanE6/getLonSpanE6,我应该在哪里添加宽度和高度?地理位置是从数据库中读取的,我需要使用:新的GeoPoint((int)(latitude * 1e6),(int)(longitude * 1e6))将其转换为Google API接受的一个,是否将它们添加到zoomToSpan(latSpan +宽度,lonSpan +高度)?谢谢! – hzxu 2011-06-15 23:17:55