2014-04-04 118 views
1

在我的項目中,我想添加圖像在特定位置的地圖。爲此我使用了下面的代碼。如何在地圖中的特定位置添加圖片?

public class Sample extends Activity { 

    @TargetApi(Build.VERSION_CODES.HONEYCOMB) 
    @SuppressLint("NewApi") 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.sample); 

     // Get a handle to the Map Fragment 
     GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); 

     LatLng sydney = new LatLng(33.6671688,-117.9053506); 

     map.setMyLocationEnabled(true); 
     map.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 15)); 

     //add overlay 
     BitmapDescriptor image = BitmapDescriptorFactory.fromResource(R.drawable.categorymap); 
     GroundOverlayOptions groundOverlay = new GroundOverlayOptions() 
     .image(image) 
     .position(sydney, 1000f) 
     .transparency(0.1f); 
     map.addGroundOverlay(groundOverlay); 

    } 
} 

通過使用此代碼,地圖顯示如下圖所示。 enter image description here

但我的要求是添加圖像在特定的位置,如下面的截圖。爲此我有經度和緯度值也顯示地圖位置。在那個位置我想添加圖像,如下面的截圖。

enter image description here

所以我的問題是,如何從左至右像上面screenshot.I很多嘗試這樣做但沒有解決issue.So請建議我如何解決這個問題,移動圖像。由於inadvance所有...

+0

你爲什麼把這個圖像添加到'GroundOverLay'?將此圖像添加到「標記」圖標 –

+0

我也嘗試過標記圖標。如果我添加標記圖標,圖像無法在縮放和縮小圖像上工作 – rams

回答

0

試圖讓建築物的角落的確切位置和使用方法

public GroundOverlayOptions positionFromBounds (LatLngBounds bounds)

那麼就應該用mapzoom規模

另一種方法是使用anchor

編輯:

GroundOverlayOptions groundOverlay = new GroundOverlayOptions() 
    .image(image) 
    .position(sydney, 1000f) 
    .transparency(0.1f) 
    .anchor(0.5, 0.5); 

這反而使經/緯度是在圖像的中心。

+0

感謝您的快速響應。請告訴我如何在我的代碼中使用這些方法 – rams

+0

I試過這個代碼,但是我得到了相同的輸出,圖像沒有移動。 – rams

+0

positionFromBounds方法中邊界的值是什麼 – rams

相關問題