我正在从事基本定位和导航。我已经使用了底部导航选项卡。
在MainActivity中,我在XML文件中添加了MapFragment。我是通过“标签页的点击”来调用此MapFragment的。
当我第一次单击“位置”时,当前位置显示正确。当我单击“旅行(导航)”后, 导航显示正确,此方案工作正常。
但是当我单击“位置”时,不会删除导航路线。如图所示。
我还使用了 MapRoute
的静态变量private static MapRoute mapRoute;
我已将Map Object删除为以下代码段。
if (map != null && mapRoute != null) {
map.removeMapObject(mapRoute1);
mapRoute = null;
}
现在我的问题ID是如何删除或重新启动静态 MapFragment 。
对于当前位置,我已经使用CurrentLocationFragmentView类作为以下代码片段。
public class CurrentLocationFragmentView {
private MapFragment m_mapFragment=null;
private Activity m_activity;
private Map map=null;
private double langitude, latitude;
private static MapRoute mapRoute;
public CurrentLocationFragmentView(Activity activity,Double Lat, Double lang) {
m_activity = activity;
latitude=Lat;
langitude=lang;
initialize();
}
private void initialize() {
// Search for the map fragment to finish setup by calling init().
m_mapFragment = (MapFragment) m_activity.getFragmentManager().findFragmentById(R.id.mapfragment);
m_mapFragment.init(new OnEngineInitListener() {
@Override
public void onEngineInitializationCompleted(OnEngineInitListener.Error error) {
if (error == OnEngineInitListener.Error.NONE) {
map=null;
map = m_mapFragment.getMap();
if (map != null && mapRoute != null) {
map.removeMapObject(mapRoute1);
mapRoute= null;
}
map.setCenter(new GeoCoordinate(latitude, langitude, 0.0),
Map.Animation.NONE);
map.setZoomLevel((map.getMaxZoomLevel() + map.getMinZoomLevel()) / 2);
map.getPositionIndicator().setVisible(true);
}
}
});
}
如何在“此处地图”中删除此在地图上的路线。
谢谢!
答案 0 :(得分:0)
使用我们最新的HERE Android SDK版本3.14,并检查是否没有在地图上两次添加相同的路线。 removeMapObject
不会删除重复的路由。