如何解决这里是Android SDK Premium:是否可以添加任何属性以仍然设置指标?
我遇到问题,需要帮助。
我将Here Sdk用于ANDROID。我将指标设置为可见,并且可以工作,但位置仍然不固定。就像我在同一个地点,但是指示器在我静止不动(设备静止不动)的同时不断弹跳并且我的地图不断移动
这是我的代码:
if (m_mapFragment != null) {
/* Initialize the AndroidXMapFragment,results will be given via the called back. */
m_mapFragment.init(new OnEngineInitListener() {
@Override
public void onEngineInitializationCompleted(OnEngineInitListener.Error error) {
//Markers image to be defined
final Image image = new Image();
global_class.setAppLocale(lang_prf,m_activity);
if (error == Error.NONE) {
//GET MAP ATTRIBUTES AND SHAPE
m_map = m_mapFragment.getMap();
//edited on 2020 06 24 || edited on 2020 07 02c
m_map.setZoomLevel(18);
//SET MAP SCHEME - COLORS AND APPEaraNCE
m_map.setMapScheme(Map.Scheme.CARNAV_DAY_GREY);
m_navigationManager = NavigationManager.getInstance();
//POSITIONNING
posManager = PositioningManager.getInstance();
positionListener = new PositioningManager.OnPositionChangedListener() {
@Override
public void onPositionUpdated(PositioningManager.LocationMethod method,GeoPosition position,boolean isMapMatched) {
currentPosition = position.getCoordinate();
//m_map.setCenter(position.getCoordinate(),Map.Animation.LINEAR);
while(currentPosition==null){
Toast.makeText(m_activity,R.string.loadingposition,Toast.LENGTH_LONG).show();
}
if(currentPosition!=null){
//AFTER PROVIDING CURRENT POSITION : SET MY ACTUAL POSITION TO THE CENTER OF THE MAP
m_map.setCenter(position.getCoordinate(),Map.Animation.LINEAR);
//APPLY ZOOM ONCE AGAIN
m_map.setZoomLevel(18);
m_map.addTransformlistener(onTransformlistener);
//SET TRAFFIC informatIONS
m_map.setTrafficinfovisible(true);
// create a map marker to show current position
m_map.getPositionIndicator().setVisible(true);
}
}
@Override
public void onPositionFixChanged(PositioningManager.LocationMethod method,PositioningManager.LocationStatus status) {
// CODE ...
}
};
try {
posManager.addListener(new WeakReference<>(positionListener));
if(!posManager.start(PositioningManager.LocationMethod.GPS_NETWORK)) {
Log.e("HERE","PositioningManager.start: Failed to start...");
}
} catch (Exception e) {
Log.e("HERE","Caught: " + e.getMessage());
}
} else {
new AlertDialog.Builder(m_activity).setMessage(
R.string.error + error.name() + "\n\n" + error.getDetails())
.setTitle(R.string.engine_init_error)
.setNegativeButton(android.R.string.cancel,new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog,int which) {
m_activity.finish();
}
}).create().show();
}
}
});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。