2

我有一个扩展 MapActivity 的活动,在onCreate()里面我有这个代码

 GeoPoint point = new GeoPoint((int)(1.3*1E6),(int)(34.45*1E6)); 
 final MapController mc;
 mc.animateTo(point);

动画到那一点,但是,当它动画时,该点位于屏幕的中心,我希望它位于屏幕上的固定(X,Y)位置。是否有 mc.animatetoLeftBottom(point) 函数?

编辑:我用 Projection p = mapView.getProjection(); point = p.fromPixels(50, 60); mc.animateTo(point);

图片:当我启动应用程序时,它看起来像这样:

最初的

在我点击一次引脚后,它看起来像这样

一键后

而且,如果我再次点击图钉,它将如下所示:

两次敲击后

这就是它的样子,无论我从哪里点击它,或者如果我滚动、缩放然后再次点击:

应该如何

我想要的是当我点击别针时它会自动移动到那个位置(见最后一张图片)

4

2 回答 2

3

难道你不能改变这个GeoPoint事实,并动画到不同的点吗?

于 2011-05-24T13:07:17.583 回答
2

试试这个:

MapView mv = getMapView(); // fetch your map view
Projection p = mv.getProjection(); 
GeoPoint point = p.fromPixels(X, Y);
mc.animateTo(point);
于 2011-05-24T13:35:35.963 回答