Ich versuche, den aktuellen Standort des Benutzers mit GPS zu erhalten.Kann die aktuelle Position des Benutzers nicht mit Hilfe von hier Karten sdk
Unten ist meine initialize() -Methode, die aufgerufen wird, nachdem alle erforderlichen Berechtigungen abgerufen wurden. Ich versuche, die Geoposition der Benutzer mit dieser Linie zu erhalten, wie hier angegebenen Karten Dokumentation PositioningManager posManager = PositioningManager.getInstance();
posManager.start(PositioningManager.LocationMethod.GPS);
GeoPosition position = posManager.getPosition();
jetzt mein Problem Position immer wieder null
, nicht sicher, wo ich falsch werde.
Methode initialize():
private void initialize() {
setContentView(R.layout.activity_main);
// Search for the map fragment to finish setup by calling init().
mapFragment = (MapFragment) getFragmentManager().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();
// Set the map center coordinate to the Vancouver region (no animation)
map.setCenter(new GeoCoordinate(19.174598, 72.860722),
Map.Animation.NONE);
// Set the map zoom level to the average between min and max (no animation)
map.setZoomLevel((map.getMaxZoomLevel() + map.getMinZoomLevel())/2);
MapMarker marker = new MapMarker();
PositioningManager posManager = PositioningManager.getInstance();
posManager.start(PositioningManager.LocationMethod.GPS_NETWORK);
posManager.start(PositioningManager.LocationMethod.GPS);
// GeoPosition position = posManager.getPosition();
Log.d(LOG_TAG, "onEngineInitializationCompleted: " + posManager.hasValidPosition(PositioningManager.LocationMethod.GPS_NETWORK));
TextView info = (TextView) findViewById(R.id.info);
boolean temp = posManager.hasValidPosition(PositioningManager.LocationMethod.GPS_NETWORK);
info.setText(Boolean.toString(temp));
marker.setCoordinate(new GeoCoordinate(19.1745, 72.8));
map.addMapObject(marker);
} else {
Log.e(LOG_TAG, "Cannot initialize MapFragment (" + error + ")");
}
}
});
textViewResult = (TextView) findViewById(R.id.title);
textViewResult.setText(R.string.textview_routecoordinates_2waypoints);
}
Android Manifest-Datei:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mapstutorial.simplerouting" >
<!-- <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="23"/>
No longer needed since this is specified in build.gradle -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name">
<activity
android:name=".RoutingActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.here.android.maps.appid"
android:value="bm8G03BysQAjEHvyCgSm" />
<meta-data
android:name="com.here.android.maps.apptoken"
android:value="CprS7w8rXTBHblaSlb8xVQ" />
</application>
</manifest>
Hier ist der Link zu Github Gist mit komplettem Java-Code. Kann mir bitte jemand sagen was ich falsch mache.
Dieser Java-Code ist nur eine geringfügige Änderung von SDK Beispiel hier.
Mit welcher Art von Gerät testen Sie? Vielleicht hat es keine GPS-Antenne? –
Letv 1s, androide Marshmallow. – warl0ck
Ähnlich wie: http://StackOverflow.com/Questions/43833725/HereMap-PositioningListener-was-Never- aufgerufen, können Sie einige Debugging-Vorschläge dort sehen. – AndrewJC