我是Android开发的新手,我正在尝试使用“这里”地图api。
我已经成功完成了“ here”和我的应用程序之间的集成,因此现在它呈现了地图。
下一步,它使用PositioningManager提供的类显示当前位置,并使用“此处” api进行定位:
https://developer.here.com/documentation/android-premium/dev_guide/topics/map-positioning.html
这是我的MainActivity类:
public class MainActivity extends AppCompatActivity {
Map map = null;
SupportMapFragment mapFragment;
Location currentLocation = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapfragment);
mapFragment.init(new OnEngineInitListener() {
@Override
public void onEngineInitializationCompleted(OnEngineInitListener.Error error) {
if (error == OnEngineInitListener.Error.NONE) {
// retrieve a reference of the map from the map fragment
map = mapFragment.getMap();
map.setCenter(new GeoCoordinate(32.174149299999996, 34.8501949, 0.0),
Map.Animation.NONE);
// Set the zoom level to the average between min and max
map.setZoomLevel((map.getMaxZoomLevel() + map.getMinZoomLevel()) / 2);
} else {
System.out.println("ERROR: Cannot initialize Map Fragment");
}
}
});
}
}
它渲染地图。现在,我在使用PositioningManager时遇到了麻烦。如果创建此类的实例,则由于其构造函数是私有的,因此将被阻止。 而且,如果我调用此类,则由于它们是非静态的,因此无法使用其大多数方法。
我的问题是我应该如何在我的应用中调用/使用PositioningManager?
答案 0 :(得分:0)
摘要:您引用的PositioningManager是单例。因此,当您阅读PositioningManager.start(LocationMethod)时,必须调用PositioningManager.getInstance()。start(LocationMethod)。您放置的链接还指出“可以通过调用PositioningManager.getInstance()来访问PositioningManager。”实际上,您可以在此示例代码https://github.com/heremaps/here-android-sdk-examples/blob/master/positioning/app/src/main/java/com/here/android/example/basicpositioningsolution/BasicPositioningActivity.java
中看到基本的定位实现。