2012-05-23 29 views
0

當我將x和y座標添加到MapView.LayoutParams構造函數。其MODE_VIEW行爲消失。我想要這個行爲以及x和y座標。我不明白爲什麼會發生這種情況。爲什麼如果添加x和y座標,MapView.LayoutParams MODE_VIEW不起作用?

public void addMarkerToMAp(GeoPoint geoPoint) { 
    mapView.removeAllViews(); 

    final ImageView view = new ImageView(mapView.getContext()); 
    view.setImageResource(R.drawable.map_marker_anim); 
    view.post(new Runnable() { 
     @Override 
     public void run() { 
      AnimationDrawable animationDrawable = (AnimationDrawable) view.getDrawable(); 
      animationDrawable.start(); 
     } 
    }); 

    mapView.addView(view); 
    MapView.LayoutParams layoutParams = new MapView.LayoutParams(MapView.LayoutParams.WRAP_CONTENT, 
     MapView.LayoutParams.WRAP_CONTENT, 
     geoPoint, 
     MapView.LayoutParams.MODE_VIEW); 
    view.setLayoutParams(layoutParams); 
} 

所以,我得到了作爲的GeoPoint

的GeoPoint = mapView.getProjection()fromPixels((int)的event.getX(),(INT)event.getY())。 其中事件是點擊事件。

另外我想在(event.getX(),event.getY())顯示標記引腳,但它顯示在點擊下方。

回答

0

如果你在eclipse中編碼,按ctrl + shift + f。這會讓你的代碼更具可讀性。 這就是說,當你顯示一個標記時,你使用了哪些點? 如果我沒有錯,那麼你將插入的點,如果它的覆蓋可繪製的話,將是左下角。

如果它的觀點(我認爲你在做什麼)以及它會出現在你的點擊下面。

您可以在-view.getWidth()/ 2和-view.getHeight/2中添加offsetx和offsety。這應該讓你的觀點直接集中在你的要點之下。 雖然您可能無法獲取view.getWidth/Height,但請確保它不返回0.

相關問題