I have added a mapview in my android application.I have used correct settings in the manifest and now i'm facing a problem. When i go to the place where i have my map,it displays only the canvas but not the map. If i touch on it only it starts loading. Even then it does not fully load.it loads only to a certain level.if i keep touching the screen it continuously loads. But even then i cannot zoom in or out OR cant even move the map. Is there a solution for this? Have i done something wrong?
My Code
MapView mapView;
GoogleMap map;
mapView = (MapView)view.findViewById(R.id.map);
Bundle savedInstanceState = null;
mapView.onCreate(savedInstanceState);
// Gets to GoogleMap from the MapView and does initialization stuff
map = mapView.getMap();
map.getUiSettings().setMyLocationButtonEnabled(false);
map.setMyLocationEnabled(true);
MapsInitializer.initialize(activity);
double lat;
double lon;
lat = Double.parseDouble(theaterDetail.getLatitude());
lon = Double.parseDouble(theaterDetail.getLongitude());
// Updates the location and zoom of the MapView
map.addMarker(new MarkerOptions().position(
new LatLng(lat, lon)).title(theaterDetail.getAddress()));
final LatLng THEATER_POSITION = new LatLng(lat, lon);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(THEATER_POSITION) // Sets the center of the map to
// THEATER_POSITION
.zoom(10) // Sets the zoom
.bearing(360) // Sets the orientation of the camera to east
.tilt(30) // Sets the tilt of the camera to 30 degrees
.build(); // Creates a CameraPosition from the builder
map.animateCamera(CameraUpdateFactory
.newCameraPosition(cameraPosition));
xml
<com.google.android.gms.maps.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"/>
manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.***.***"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<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"/>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"
/>
<permission
android:name="com.***.***.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.***.***.permission.MAPS_RECEIVE" />
<application
android:name="com.***.***.service.CommonVariable"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppBaseTheme"
android:hardwareAccelerated="true" >
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<!-- <uses-library android:name="com.google.android.maps" /> -->
<activity
android:name="com.***.***.MainActivity"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock.Light.DarkActionBar"
android:windowSoftInputMode="adjustPan"
android:hardwareAccelerated="true">
</activity>
<activity
android:name="com.***.***.Map"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock.Light.DarkActionBar" ></activity>
<activity
android:name="com.***.***.WelcomeActivity"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock.NoActionBar"
android:hardwareAccelerated="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="*********************" />
</application>
</manifest>
To run an app that uses the Maps SDK for Android, you must deploy it to an Android device or Android emulator that is based on Android 4.0 or higher and includes the Google APIs.
Share this story First discovered by Android Police, your friend's battery level will be included in the set of information you receive when they share their location with you. It's a helpful addition for keeping tabs on your friends and ensuring they're safe.
A View which displays a map (with data obtained from the Google Maps service). When focused, it will capture keypresses and touch gestures to move the map.
Though this is an old question, I am providing here what worked for me. The reason that this solution works is that it overrides the onResume() handler. If you are using a mapView, you need to call mapView.onResume() from the onResume() handler. Example:
@Override
public void onResume() {
mMapView.onResume();
super.onResume();
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With