在我的项目中,我想在地图中的特定位置添加图像。因为我使用了以下代码。
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);
}
}
通过使用此代码,地图将显示如下屏幕截图。
但是我的要求是将图像添加到特定位置,如下面的屏幕截图。为此我还有纬度和经度值来显示地图位置。在该位置我想添加图像,如下面的屏幕截图。
所以我的问题是,如何像上面的截图一样从左到右移动图像。我尝试了很多这样做,但没有解决问题。所以请建议我如何解决这个问题。谢谢所有人...
答案 0 :(得分: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);
这将使lat / lon位于图像的中心。