标记示例:
Marker m = new Marker(mapOSM);
//m.setTitle("LOL");
m.setSnippet("bla bla bla);
m.setPosition(new GeoPoint(cenario.getLatitude(), cenario.getLongitude()));
Drawable icon = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_action_place, null);
icon.setColorFilter(getResources().getColor(R.color.md_green_400), PorterDuff.Mode.MULTIPLY);
m.setIcon(icon);
mapOSM.getOverlays().add(m);
我知道如何动画到一个位置:
mapOSM.getController().animateTo(m.getPosition());
但是如何缩放到特定的标记?
答案 0 :(得分:1)
丑陋的解决方案:
做到这一点
mapOSM.getController().setZoom(10);
然后去做
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mapOSM.getController().animateTo(new GeoPoint(x, y));
}
}, 300);
答案 1 :(得分:0)
试试这个:
BoundingBoxE6 bBox = new BoundingBoxE6(iNorth, iEast, iSouth, iWest);
osmView.getController().zoomToSpan(bBox.getLatitudeSpanE6(), bBox.getLongitudeSpanE6());
osmView.getController().setCenter(bBox.getCenter());
获取您想要去的地方的边界框,然后缩放到适合您的Bbox的级别,并将视图的中心设置为框的中心。