2011-05-24 52 views
2

我具有延伸MapActivity一個活動,並且內部的onCreate()我有此代碼如何動畫到Center地圖其他位置

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

然而該動畫,到該點,當它以動畫,該點位於屏幕的中心,我希望它位於屏幕上的固定位置(X,Y)。有沒有mc.animatetoLeftBottom(點)功能?

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

圖片: 當我啓動應用程序,它看起來像這樣:

initial

後,我的腳就點擊一次,它看起來像這樣

after one tap

而且,如果我的腳再次挖掘,它看起來就像這樣:

after two taps

這是應該的樣子,不管我在哪裏,從點擊它,或者,如果我滾動,縮放然後再次點擊:

how it should be

我想是它自動移動到該位置(見最後圖片)當我敲擊銷

回答

3

難道你不能只是改變GeoPoint來解釋這個事實,並且動畫到不同的地方?

+2

我想你好想了解的問題,我指的是移動的觀點,而不是當用戶按下它實際點。即使我點擊它的時候會有不同的觀點,它仍然會到中心。我不希望它在中心的原因是因爲當我點擊該圖釘時,會彈出一個氣球,並且其中一部分無法看到(此問題發生在小型屏幕上) – 2011-05-24 14:08:22

+0

我建議您將在不同的點上繪製地圖,這將實際將您想要的點放置在左下角。 – joey 2011-05-24 16:10:05

+2

是的,但我該如何將地圖居中?另外,我有超過1000個針腳 – 2011-05-24 16:26:48

2

試試這個:

MapView mv = getMapView(); // fetch your map view 
Projection p = mv.getProjection(); 
GeoPoint point = p.fromPixels(X, Y); 
mc.animateTo(point); 
+2

位置移動,但隨機,我想它移動到屏幕上的一個固定位置,當我點擊它,例如:if該引腳位於屏幕的右角或屏幕的中心(垂直和水平方向),當我點擊它時,屏幕將移動到左下角。 – 2011-05-24 14:04:57

+2

我不確定我完全理解你在找什麼,但你擁有的最佳控制是指定地圖中心的能力。所以你的任務是弄清楚中心應該設置什麼,以便顯示你想要的內容。地圖不能隨意移動:它將以您指定的X和Y爲中心。如果你需要應用偏移量(所以地圖將該點放置在左下角),然後添加/減去偏移量,對吧? – Femi 2011-05-24 14:14:39

+2

你能告訴我那些X,Y應該做什麼嗎?他們是否將視圖的位置移動到左側,將Xpx移動到底部?例如:如果銷在位置(40,80),X = 10和Y = 20,那麼當我點擊銷時視圖將移動到(50,90)? – 2011-05-24 14:36:41

相關問題