使用“此处” api

时间:2019-05-04 07:36:34

标签: android android-fragments here-api

我是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?

1 个答案:

答案 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

中看到基本的定位实现。