我正在使用Google Maps API For Android。 我使用MapView,因为它位于ViewPager中的片段内部。 不幸的是,它没有按预期显示。 的compilator给我这个错误:MapView未显示android
[doInBackground]无法检索网址:https://play.google.com/store/apps/details?myApp ...
为什么?我在调试环境中使用它,它应该查找PlayStore。 这里是我的表现和我的布局:
<?xml version="1.0" encoding="utf-8"?>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<permission
android:name="faurecia.captordisplayer.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="faurecia.captordisplayer.permission.MAPS_RECEIVE" />
<!-- Permission pour utiliser la connexion internet -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- Permission permettant de vérifier l'état de la connexion -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- Permission pour stocker des données en cache de la map -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:name=".Application">
<uses-library android:name="com.google.android.maps" />
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="AIzaSyCKYeYG6IDbaRAs-rLmS3W_Zx8q742F5VU"/>
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
我的活动片段:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.gms.maps.MapView
android:id="@+id/mapview"
android:layout_width="300px"
android:layout_height="300px"
android:apiKey="AIzaSyCKYeYG6IDbaRAs-rLmS3W_Zx8q742F5VU"/>
<faurecia.captordisplayer.view.GradientGauge
android:id="@+id/gradientGauge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical">
<faurecia.captordisplayer.view.EnginePowerGauge
android:id="@+id/engineGauge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<faurecia.captordisplayer.view.Speedmeter
android:id="@+id/speedmeter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<faurecia.captordisplayer.view.RankingGauge
android:id="@+id/rankingGauge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
和我的片段代码:
public class HMI0Fragment extends HMIFragment implements OnMapReadyCallback {
@Bind(R.id.mapview) MapView mMapView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
reScheduleTimerTask(TIMER_PERIOD);
mView = inflater.inflate(R.layout.fragment_hmi0, container, false);
ButterKnife.bind(this, mView);
mMapView.getMapAsync(this);
return mView;
}
@Override
public void onMapReady(GoogleMap map) {
map.moveCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(-18.142, 178.431), 2));
// Polylines are useful for marking paths and routes on the map.
map.addPolyline(new PolylineOptions().geodesic(true)
.add(new LatLng(-33.866, 151.195)) // Sydney
.add(new LatLng(-18.142, 178.431)) // Fiji
.add(new LatLng(21.291, -157.821)) // Hawaii
.add(new LatLng(37.423, -122.091)) // Mountain View
);
}
}