gpt4 book ai didi

android - Sygic 不显示当前位置也不显示标记

转载 作者:行者123 更新时间:2023-11-29 02:24:04 25 4
gpt4 key购买 nike

我想在加载 map 时显示位置指示器,并在点击 map 时添加标记,但这些似乎都不起作用!

protected void onCreate(Bundle savedInstanceState)  {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


final MapFragment mapFragment = (MapFragment) getSupportFragmentManager().findFragmentById(R.id.mapFragment);
assert mapFragment != null;
mapFragment.getMapAsync(new OnMapInitListener() {
@Override
public void onMapReady(MapView mapView) {
OnlineManager.getInstance().enableOnlineMapStreaming(true);
PositionManager.getInstance().startPositionUpdating();
PositionManager.getInstance().enableRemotePositioningService();
mpView=mapView;

mpView.addMapGestureListener(new MapGestureAdapter() {

@Override
public boolean onMapClicked(final MotionEvent e, final boolean isTwoFingers) {

MapMarker marker = new MapMarker(new GeoCoordinates(PositionManager.getInstance().getLastKnownPosition().getLongitudeAccuracy(),PositionManager.getInstance().getLastKnownPosition().getLatitudeAccuracy()));
mpView.addMapObject(marker);
return true;
}
});

}

@Override
public void onMapError(int error, String info) {}
});

}

最佳答案

您正在尝试使用 getLongitudeAccuracy()getLatitudeAccuracy() 创建新的标记。您需要使用地理坐标!

如果您想将标记添加到最后已知 gps 信号的位置,您可以使用此代码:MapMarker marker = new MapMarker(PositionManager.getInstance().getLastKnownPosition().getCoordinates())

但由于当时可能没有已知位置,因此可能不会添加任何标记。因此,请确保您已打开定位功能且信号强。根据您的示例,将标记添加到您单击的位置会更有意义。为此,请使用此代码:

        mpView.addMapGestureListener(new MapGestureAdapter() {

@Override
public boolean onMapClicked(final MotionEvent e, final boolean isTwoFingers) {

MapMarker marker = new MapMarker(mpView.geoCoordinatesFromPoint(e.getX(), e.getY()));
mpView.addMapObject(marker);
return true;
}
});

关于android - Sygic 不显示当前位置也不显示标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53296203/

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