Здравствуйте. Пытаюсь используя сэмплы Yandex Map Kit сделать добавление балуна по нажатию кнопки. Необходимо чтоб балун появлялся именно на текущей позиции GPS, а затем уже передвигать его куда нужно. Код таков:
MyLocationItem myLocationItem;
MapController mMapController;
LinearLayout mView;
OverlayManager mOverlayManager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final MapView mapView = (MapView) findViewById(R.id.map);
mapView.showBuiltInScreenButtons(true);
mMapController = mapView.getMapController();
// add listener
mMapController.getOverlayManager().getMyLocation().addMyLocationListener(this);
mView = (LinearLayout)findViewById(R.id.view);
}
public void showObject(){
// Load the required resources
Resources res = getResources();
float density = getResources().getDisplayMetrics().density;
int offsetX = (int)(-7 * density);
int offsetY = (int)(20 * density);
// Create a layer of objects for the map
DragAndDropOverlay overlay = new DragAndDropOverlay(mMapController);
// Create an object for the layer
DragAndDropItem drag1Item = new DragAndDropItem(new GeoPoint((int) (myLocationItem.getGeoPoint().getLat() * 1E6), (int) (myLocationItem.getGeoPoint().getLon() * 1E6)), res.getDrawable(R.drawable.drag1));
// Set offsets of the image to match the balloon tail with the specified GeoPoint
drag1Item.setOffsetX(offsetX);
drag1Item.setOffsetY(offsetY);
// Make the object draggable
drag1Item.setDragable(true);
// Create a balloon model for the object
BalloonItem balloonDrar1 = new BalloonItem(this,drag1Item.getGeoPoint());
balloonDrar1.setText(getString(R.string.drag));
// Set the additional balloon offset
balloonDrar1.setOffsetX(offsetX);
// Add the balloon model to the object
drag1Item.setBalloonItem(balloonDrar1);
// Add the object to the layer
overlay.addOverlayItem(drag1Item);
// Add the layer to the map
mOverlayManager.addOverlay(overlay);
}
public void onMyButtonClick(View view)
{
showObject();
// выводим сообщение
Toast.makeText(this, "Передвигайте точку", Toast.LENGTH_SHORT).show();
}
}
Я так понимаю что неправильно преобразовываю координаты текущего положения, указывая где прорисовывать балун, из-за этого и выбывает приложение по нажатию кнопки.