0
Google Maps APIを使用して簡単なマップを生成し、マーカーを配置するAndroidモバイルアプリを作成しました。Android GoogleマップOnMapReadyCallback()がデバイス上で動作しない(シミュレータで動作する)
すべてがAndroid Simulatorでうまく動作しますが、Androidデバイスを使用するとmapView.getMapAsyncはOnMapReadyCallback()をトリガーしません。
私が指摘したもう一つのことは、これらのメッセージが表示されていることです。問題に関連するかどうかはわかりません。 SDK内のすべてを更新しようとしましたが、これらのメッセージは表示されません。
04-07 20:36:30.990 10487-10487/it.bitrack.fabio.bitrack W/GooglePlayServicesUtil: Google Play services out of date. Requires 10298000 but found 9879448
04-07 20:36:30.992 10487-10487/it.bitrack.fabio.bitrack W/GooglePlayServicesUtil: Google Play services out of date. Requires 10298000 but found 9879448
04-07 20:36:30.993 10487-10487/it.bitrack.fabio.bitrack W/GooglePlayServicesUtil: Google Play services out of date. Requires 10298000 but found 9879448
04-07 20:36:30.994 10487-10487/it.bitrack.fabio.bitrack W/GooglePlayServicesUtil: Google Play services out of date. Requires 10298000 but found 9879448
理由は分かりますか?私のコードは...以下である
コード:私は、コードの一部を追加することで問題を解決でき
mapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
map = googleMap;
map.addMarker(new MarkerOptions()
.position(new LatLng(asset.latitude, asset.longitude))
.title(asset.networkAssetCode));
map.setMapType(GoogleMap.MAP_TYPE_HYBRID);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(asset.latitude, asset.longitude), 17));
lastSeenTextView.setText("Last seen: " + asset.datetime);
try {
r.getLocationFromCoordinates(asset.latitude, asset.longitude, new Callback() {
@Override public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override public void onResponse(Call call, Response response) throws IOException {
try (final ResponseBody responseBody = response.body()) {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
Headers responseHeaders = response.headers();
for (int i = 0, size = responseHeaders.size(); i < size; i++) {
System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i));
}
final String result = responseBody.string();
Log.i("BiTrack", "Google Reverse Geolocation\n" + result);
try {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Json j = new Json();
updateMapView(j.getAddressFromGeolocationCoordinates(result));
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
});
がしましたあなたはデバッグ証明書を使ってアプリを実行しますか?またはリリース証明書を使用しましたか? –
私はAndroidが初めてで、実際のデバイスで初めて動作します。私はこれらのことが何であるか分かりません。説明できますか?たぶんそれは私の問題です...ありがとう! – user1060551
実際にクラスに 'OnMapReadyCallback'を実装する必要があります。 –