gpt4 book ai didi

java - MapController setCenter 不起作用

转载 作者:行者123 更新时间:2023-11-30 08:56:18 24 4
gpt4 key购买 nike

我有一个坐标为 55.790833、49.114444 的 GeoPoint gPt。我将那个东西添加到 map 中并尝试居中。但是我的标记不在 map 的中心(它稍微高一点)。 enter image description here enter image description here

怎么了?

这是我的代码:

mResourceProxy = new ResourceProxyImpl(this.getActivity().getApplicationContext());
mapView = (MapView) v.findViewById(R.id.mapview);
mapView.setTileSource(TileSourceFactory.MAPNIK);
mapView.setBuiltInZoomControls(true);
mMapController = mapView.getController();
mMapController.setZoom(15);
GeoPoint gPt = new GeoPoint(55.790833, 49.114444);
ArrayList<OverlayItem> items = new ArrayList<OverlayItem>();
items.add(new OverlayItem("Here", "SampleDescription", gPt));

mMyLocationOverlay = new ItemizedIconOverlay<OverlayItem>(items,
new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() {
@Override
public boolean onItemSingleTapUp(final int index,
final OverlayItem item) {

return true; // We 'handled' this event.
}

@Override
public boolean onItemLongPress(final int index,
final OverlayItem item) {

return false;
}
}, mResourceProxy);
mapView.getOverlays().add(this.mMyLocationOverlay);
mapView.invalidate();

mMapController.setCenter(gPt);

编辑:

如果您懒得更新 osmdroid,只需添加以下语句:

ViewTreeObserver vto = v.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
mapView.getController().setCenter(gPt);
}
});

最佳答案

“怎么了?”

=> 当然是你的 osmdroid 版本,issue #22 .

升级到 v4.3。

关于java - MapController setCenter 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28719221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com