में मैंने अपने एंड्रॉइड एप्लिकेशन में ओपन स्ट्रीट मैप्स शामिल किए हैं। मानचित्रदृश्य में, मानचित्र पूरी तरह से लोड होने के बाद उपयोगकर्ता स्क्रीन को कैप्चर करने में सक्षम होना चाहिए। लेकिन नक्शादृश्य अभी भी लोड होने पर भी उपयोगकर्ता छवि को कैप्चर कर सकता है। क्या कोई मुझे बता सकता है कि नक्शादृश्य पूरी तरह से लोड होने पर कैसे पता लगाया जाए?पता लगाएं कि ओएसएम मैप्यूव अभी भी लोड हो रहा है या नहीं, एंड्रॉइड
public class MainActivity extends Activity {
MapView mapView;
MyLocationOverlay myLocationOverlay = null;
ArrayList<OverlayItem> anotherOverlayItemArray;
protected ItemizedOverlayWithBubble<ExtendedOverlayItem> itineraryMarkers;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView) findViewById(R.id.mapview);
final ArrayList<ExtendedOverlayItem> waypointsItems = new ArrayList<ExtendedOverlayItem>();
itineraryMarkers = new ItemizedOverlayWithBubble<ExtendedOverlayItem>(this, waypointsItems, mapView, new ViaPointInfoWindow(R.layout.itinerary_bubble, mapView));
mapView.getOverlays().add(itineraryMarkers);
mapView.setTileSource(TileSourceFactory.MAPNIK);
mapView.setBuiltInZoomControls(true);
MapController mapController = mapView.getController();
mapController.setZoom(1);
GeoPoint point2 = new GeoPoint(51496994, -134733);
mapController.setCenter(point2);
Drawable marker=getResources().getDrawable(android.R.drawable.star_big_on);
GeoPoint myPoint1 = new GeoPoint(0*1000000, 0*1000000);
ExtendedOverlayItem overlayItem = new ExtendedOverlayItem("Title Test Loc", "Desc", myPoint1, this);
overlayItem.setMarkerHotspot(OverlayItem.HotspotPlace.BOTTOM_CENTER);
overlayItem.setMarker(marker);
overlayItem.setRelatedObject(0);
itineraryMarkers.addItem(overlayItem);
mapView.invalidate();
myLocationOverlay = new MyLocationOverlay(this, mapView);
mapView.getOverlays().add(myLocationOverlay);
myLocationOverlay.enableMyLocation();
myLocationOverlay.runOnFirstFix(new Runnable() {
public void run() {
mapView.getController().animateTo(myLocationOverlay.getMyLocation());
}
});
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
myLocationOverlay.enableMyLocation();
myLocationOverlay.enableCompass();
myLocationOverlay.enableFollowLocation();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
myLocationOverlay.disableMyLocation();
myLocationOverlay.disableCompass();
myLocationOverlay.disableFollowLocation();
}
बहुत बहुत धन्यवाद, क्या आप इसके लिए कुछ नमूना कोड प्रदान कर सकते हैं? – TharakaNirmana
मैं इस तरह कोड का एक सेट आने के लिए सक्षम था: सार्वजनिक वर्ग टाइलें फैली TilesOverlay { \t सार्वजनिक टाइलें (MapTileProviderBase aTileProvider, प्रसंग aContext) { \t \t सुपर (aTileProvider, aContext); \t \t // TODO स्वत: निर्मित निर्माता \t} \t \t ठूंठ @Override \t सार्वजनिक शून्य drawTiles (कैनवास ग, पूर्णांक zoomLevel, पूर्णांक tileSizePx, रेक्ट व्यूपोर्ट) { \t \t // TODO स्वत: निर्मित विधि ठूंठ \t \t टाइललूपर टाइललोप; \t \t tileloop.handleTile (arg0, arg1, arg2, arg3, arg4) \t सुपर।drawTiles (सी, ज़ूमलेवल, टाइल साइजपीएक्स, व्यूपोर्ट); \t} } कृपया मुझे आगे बढ़ने के बारे में बताएं। धन्यवाद! – TharakaNirmana