2016-04-20 5 views
9

मैं कैश से Google मानचित्र में एकाधिक टाइल ओवरले जोड़ रहा हूं। अपनी दृश्यता को बदलकर एक हैंडलर का उपयोग करके उन्हें एनिमेट करने का प्रयास करते समय, पहले नाटक के दौरान नक्शे पर ओवरले की झटके लगती है।Google मानचित्र में टाइल्स जोड़ने और उन्हें एनिमेट करने के लिए iee उन्हें लगातार नए टाइल्स के साथ बदलकर

कोई अन्य तरीका जिसके साथ मैं इसे प्राप्त कर सकता हूं?

enter image description here

public class LocalTileProvider implements TileProvider { 
    private String url; 
    DatabaseHelper db; 
    String type; 
    // private Paint opacityPaint = new Paint(); 
    String newurl= PathFinder.rainradar_HDBaseurl; 
    String uid; 

    public LocalTileProvider(String uid,DatabaseHelper cache,String type){ 
     this.uid=uid; 
     this.db=cache; 
     this.type=type; 
    } 

    //taking the tile from SQLITEDATABASE 
    @Override 
    public Tile getTile(int x, int y, int zoom){ 
     Tile tile = null;  
     if(db.ispresent(uid, zoom,x , y,type)){ 
      byte[] b=db.gettiles(uid, zoom,x , y,type); 
      tile = new Tile(256, 256, b); 
      return tile; 
     } 
     return NO_TILE; 
    } 
} 

निम्नलिखित गूगल मानचित्र

LocalTileProvider provider1 = new LocalTileProvider(uidList.get(0), db, TAG); 
TileOverlayOptions top1 = new TileOverlayOptions().tileProvider(provider1).visible(true); 
tileoverlay_1 = googleMap.addTileOverlay(top1); 

करने के लिए उन टाइल्स को जोड़ने के लिए उन्हें जोड़ने मैं टाइल की दृश्यता टॉगल करके हैंडलर के साथ एनीमेशन खेल रहा हूँ के बाद के लिए कोड है

public void start() { 
    btn_play.setEnabled(true); 
    tileoverlay_default.setVisible(false); 
    runnable_animation = new Runnable() { 
     @Override 
     public void run() { 
      //tileoverlay_default.setVisible(false); 
      isDownloading = false; 
      // stop_download=true; 
      isRunning = true; 
      btn_play.setBackgroundResource(R.drawable.player_pause_2x); 
      setVisibility(global); 

      if (global == 11) { 
       global = 0;    
      } else { 
       global = global + 1; 
      } 
      mHandler_animation.postDelayed(this, 1000); 
     } 
    }; 
    mHandler_animation.post(runnable_animation); 
} 
+0

कृपया वही प्रश्न बार-बार पूछें मत। इसे स्टैक ओवरफ़्लो पर शोर के रूप में माना जाता है। यदि आपका प्रश्न असंभव के रूप में बंद है या प्रतिक्रियाओं को आकर्षित नहीं किया है, तो सबसे पहले करने के लिए * प्रश्न * में सुधार करना है; इसके लिए कुछ मार्गदर्शन [यहां दिया गया है] (http://stackoverflow.com/help/how-to-ask)। कम गुणवत्ता वाले या अप्रत्याशित प्रश्नों को आम तौर पर बंद कर दिया जाएगा, लेकिन यदि बेहतर या स्पष्ट (उचित के रूप में) हो तो फिर से खोला जा सकता है। – Matt

+0

@ user2197811 क्या आपको इसके लिए कोई समाधान मिला है? यह Google मानचित्र के साथ एक महत्वपूर्ण समस्या है जिसे मुझे समाधान भी नहीं मिल रहा है। – aez

उत्तर

0
public class LocalTileProvider implements TileProvider 
    { 
     private String url; 
     DatabaseHelper db; 
     String type; 
     // private Paint opacityPaint = new Paint(); 
     String newurl= PathFinder.rainradar_HDBaseurl; 
     String uid; 
     public LocalTileProvider(String uid,DatabaseHelper cache,String type) 
     { 
       this.uid=uid; 
      this.db=cache; 
      this.type=type; 
     } 

    //taking the tile from SQLITEDATABASE 
     @Override 
     public Tile getTile(int x, int y, int zoom) 
     { 

      Tile tile = null; 


      if(db.ispresent(uid, zoom,x , y,type)) 
      { 

       byte[] b=db.gettiles(uid, zoom,x , y,type); 
       tile = new Tile(256, 256, b); 
        return tile; 

      } 
    return NO_TILE; 
     } 



    } 
0

एक नया टाइल ओवरले जोड़ने पर जीएमएपीएस हमेशा कुछ "झुकाव" होता है। आपके पास दो विकल्प:

  • वर्ष से अधिक 'नई' ओवरले जोड़ें, और हटाने/वर्ष एक ही जब पहली लोड हो जाने को छिपाने (जिसके लिए मैं अगर वहाँ एक कॉलबैक है याद नहीं है)
  • दिखाई (सही) के लिए पहली और दृश्य गलत पर दूसरों की स्थापना पहली बार में सभी TileProviders जोड़ें, (मैं अपने कोड से नहीं मिल सकता है यदि आप पहले ही समय में सभी प्रदाताओं को जोड़ने)
+0

हाँ एमई भिक्षा और laters में सभी प्रदाताओं को जोड़ना m टाइल ओवरले की दृश्यता के साथ खेलना – user2197811

संबंधित मुद्दे