2012-03-02 26 views
5

क्या कोई V3 google.maps.Polygon को फीका करने का कोई तरीका है?क्या V3 google.maps.Polygon को फीका करने का कोई तरीका है?

एक मानक Google मानचित्र V3 बहुभुज को छिपाने/हटाने के बजाय मैं इसे बाहर करना चाहता हूं।

क्या यह संभव है? क्या वहां कोई प्लगइन्स हैं?

उत्तर

4

निम्नलिखित एक समाधान मैं स्ट्रोक से बाहर वर्दी फीका पता और भरने के लिए बनाई गई है और मैं इसे आसानी से इसे एक समारोह बनाकर पुन: प्रयोज्य बना दिया।

सेकेंड कितना समय लगता है कि यह फीका हो जाएगा और कॉलबैक होगा ताकि आप इसे पूरा करने के बाद एक और कार्रवाई कर सकें।

मेरी प्रोजेक्ट में मेरा कॉलबैक फ़ंक्शन पॉलीगॉन को मानचित्र से हटा देता है और चर को हटा देता है।

function polygon_fadeout(polygon, seconds, callback){ 
    var 
    fill = (polygon.fillOpacity*50)/(seconds*999), 
    stroke = (polygon.strokeOpacity*50)/(seconds*999), 
    fadeout = setInterval(function(){ 
     if(polygon.strokeOpacity + polygon.fillOpacity <= 0.0){ 
      clearInterval(fadeout); 
      polygon.setVisible(false); 
      if(typeof(callback) == 'function') 
       callback(); 
      return; 
     } 
     polygon.setOptions({ 
      'fillOpacity': Math.max(0, polygon.fillOpacity-fill), 
      'strokeOpacity': Math.max(0, polygon.strokeOpacity-stroke) 
     }); 
    }, 50); 
} 
2

बहुभुज की अस्पष्टता को बदलने के लिए जावास्क्रिप्ट setInterval()/clearInterval() का उपयोग करें। कुछ इस तरह:

var opacity = [1, 0.8] 
var polygon = new google.maps.Polygon({ 
     strokeColor: "#000099", 
     strokeOpacity: opacity[0], 
     strokeWeight: 2, 
     fillColor: "#0000FF", 
     fillOpacity: opacity[1], 
     paths: [ /* your points here */ ] 
}); 

var interval = setInterval(function() { 
    if (opacity[0] <= 0.0 && opacity[1] <= 0.0) { 
    clearInterval(interval); 
    polygon.setVisible(false); 
    } else { 
    opacity[0] = Math.max(0.0, opacity[0] - 0.1); 
    opacity[1] = Math.max(0.0, opacity[1] - 0.1); 
    polygon.setOptions({strokeOpacity: opacity[0], fillOpacity: opacity[1]});  
    } 
}, 50); 
+0

यह समाधान स्ट्रोक से बाहर की फीका को दूर नहीं करता है और भरता है। मेरा भरना स्ट्रोक से बहुत पहले चला जाएगा। मैंने हालांकि मतदान किया क्योंकि यह मेरे पहले समाधान के बहुत करीब था। – iambriansreed

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