- मेरे पास एक एंड्रॉइड ऐप है जिसमें कार्यक्षमता के हिस्से के रूप में Google मानचित्र V2 है।
मैं अपने प्रकट मेंऐप ऐप स्टार्ट पर जीपीएस की तलाश शुरू कर देता है, जब आवश्यक नहीं
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
है, और सब कुछ किसी और नक्शे काम करने के लिए की जरूरत है।
- मेरा ऐप नक्शे के साथ स्क्रीन पर नहीं शुरू होता है।
अब सवाल यह है कि ऐप शुरू होने पर मेरा फोन (गैलेक्सी नेक्सस, बस मामले में) स्थिति बार में जीपीएस आइकन दिखाता है, लेकिन जब मैं नक्शे के साथ स्क्रीन पर जाता हूं और इसके साथ काम करना शुरू करता हूं ? जब मैं मानचित्र स्क्रीन पर नहीं हूं तो मुझे अपने स्थान को ट्रैक करने और बैटरी पावर का उपयोग करने की आवश्यकता नहीं है।
उदाहरण के लिए ऐप मैसेंजर अपने मानचित्र के लिए जीपीएस का भी उपयोग करता है लेकिन आइकन केवल तब दिखाया जाता है जब आप मानचित्र स्क्रीन खोलते हैं, लॉन्च की गई पहली गतिविधि पर सही नहीं।
कुछ घंटों के लिए गुगल हो गया लेकिन कुछ भी नहीं मिला। किसी भी मदद की सराहना की जाएगी!
संपादित:
MapActivity वर्ग
private LocationListener mLocationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
};
@Override
public void onCreate(Bundle savedState) {
super.onCreate(savedState);
setContentView(R.layout.map_activity);
startGPS();
initMap();
mMapView = (MapView) findViewById(R.id.map_google_map);
mMapView.onCreate(null);
mGoogleMap = mMapView.getMap();
if (mGoogleMap != null) {
customizeGoogleMap();
loadAndFillMap();
}
}
private void startGPS() {
mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mLocationListener);
}
private void initMap() {
try {
MapsInitializer.initialize(this);
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
}
private void customizeGoogleMap() {
mGoogleMap.getUiSettings().setMyLocationButtonEnabled(true);
mGoogleMap.setMyLocationEnabled(true);
}
private void loadAndFillMap() {
new LoadAndFillMapTask().execute();
}
private class LoadAndFillMapTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
String address = Session.appData().getSelectedAddress();
mMapLocation = Api.getMapApi().getMapLocation(address);
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
fillMap();
}
}
private void fillMap() {
// filling Google Map with markers etc.
}
@Override
public void onDestroy() {
super.onDestroy();
if (mMapView != null) {
mMapView.onDestroy();
}
mLocationManager.removeUpdates(mLocationListener);
}
हम मुख्य गतिविधि के कुछ कोड कृपया देख सकते हैं? – mithrop
@mithrop मुख्य गतिविधि में Google मानचित्र से बिल्कुल कुछ भी शामिल नहीं है, मैं ईमानदारी से यह दिखाने में कोई बिंदु नहीं देख रहा कि वहां क्या हो रहा है। इसके अलावा ऐप स्प्लैश स्क्रीन से शुरू होता है (उस बिंदु पर जीपीएस आइकन पहले ही स्टेटस बार में प्रदर्शित होता है) जिसमें केवल 1 सेकंड के लिए देरी की मुख्य गतिविधि का इरादा होता है। – Makks129