मेरे पास नक्शा सक्रियता है। यदि यह किसी उचित स्थान पर सेट किया गया है और ट्रैफ़िक देखने के लिए ज़ूम स्तर पर सेट किया गया है, तब तक इसे तब तक नहीं बनाया जाता जब तक आप मानचित्र के साथ बातचीत नहीं करते (उस पर क्लिक करें, ड्रैग इत्यादि) उस बिंदु पर यातायात दिखाता है। स्वाभाविक रूप से मैं लोड होने के बाद किसी भी उपयोगकर्ता इंटरैक्शन के बिना ट्रैफिक दिखाना चाहता हूं लेकिन मैं यह समझने में असमर्थ हूं कि इसे कैसे ट्रिगर करना है। कोई विचार?एंड्रॉइड 1.6 मैपव्यू ट्रैफिक नहीं दिखाता है जब तक कि उपयोगकर्ता मानचित्र के साथ इंटरैक्ट नहीं करता
मेरी MapActivity विरासत में मिला वर्ग से:
private MapView mapView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map);
mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
mapView.setTraffic(true);
}
और यहाँ है क्या R.layout.map
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainlayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="...MY API KEY HERE..."
/>
</RelativeLayout>
आपके सुझाव पर मैंने यह एक और प्रयास दिया। मैंने mapView.postInvalidateDelayed (5000) रखा; इस गतिविधि के लिए ऑनस्टार्ट() में और देखा कि यह डीबग मोड में हिट हो गया और फिर बैठे और 30 सेकंड के लिए यातायात के लिए इंतजार कर रहे थे। ऐसा कोई प्रतीत नहीं होता था। – Brian
असल में आप सही हैं। पोस्ट विलंब के बाद अविश्वसनीय वास्तव में काम करता है अगर नक्शे पूरी तरह से प्रस्तुत होने के बाद बंद हो जाता है। अगर पहले प्रतिपादन से पहले यह आग लग जाती है तो कुछ भी नहीं होता है। एक चीजी परीक्षण फिक्स मैंने अभी किया है जो पोस्ट से काम करता है पोस्टइविडिएट डेलेयड चाल नहीं करता है (क्योंकि मैंने इसे यूई थ्रेड से निकाल दिया है?) वैसे भी अगर यह काम करता है तो यह काम करता है अगर नक्शा <1000ms: में प्रस्तुत करता है टाइमर टाइमर = नया टाइमर(); timer.schedule (नया टाइमरटास्क() { @ ओवरराइड सार्वजनिक शून्य रन() {mapView.postInvalidate();} }, 1000); – Brian