2015-03-05 9 views
5

मैं वर्तमान में काम कर रहे पत्रक नक्शा है और पत्रक प्लगइन Heatmap.js इस के शीर्ष पर उपयोग करना चाहते हैं। http://www.patrick-wied.at/static/heatmapjs/example-heatmap-leaflet.htmlपत्रक और Heatmap.js - पर 'getImageData' निष्पादित करने में विफल 'CanvasRenderingContext2D'

कोड मैं उपयोग कर रहा हूँ बहुत ऊपर के लिंक में उदाहरण के समान है।

var testData = { 
       max: 8, 
       data: [{lat: 24.6408, lng:46.7728, radius:500, count: 3}] 
      }; 


var cfg = { 
       "radius": 2, 
       "maxOpacity": 8, 
       "scaleRadius": true,      
       "useLocalExtrema": true, 
       latField: 'lat',     
       lngField: 'lng', 
       valueField: 'count' 
      }; 

var heatmapLayer = new HeatmapOverlay(cfg); 

map.addLayer(heatmapLayer); 

heatmapLayer.setData(testData); 

जब मैं नक्शा चलाने मैं हीट मैप का कोई भी संकेत नहीं दिख रहा है।

'CanvasRenderingContext2D' चालू 'getImageData' निष्पादित करने में विफल:: फिर जब मैं नक्शा मैं कंसोल में निम्न त्रुटि प्राप्त आसपास पैन स्रोत ऊंचाई है 0.

किसी भी विचार कैसे हल करने के लिए इस? Heatmap.js वेबसाइट पर डेमो लगभग समान कोड के साथ बहुत अच्छा काम करता है।

धन्यवाद!

संपादित करें:

मैं पाया है, जहां त्रुटि से orginating जा सकता है। Heatmap.js में लाइन 316 है:

this._height = canvas.height = shadowCanvas.height = +(computed.height.replace(/px/,'')); 

ऊंचाई शून्य के रूप में वापस की जा रही है। हालांकि चौड़ाई सही ढंग से सेट किया जा रहा है।

+0

क्या आपके पास बेसलेयर सेट है और मानचित्र ऑब्जेक्ट में जोड़ा गया है? –

+1

जब मैं मानचित्र आरंभ मैं एक परत जो ठीक काम करता है के साथ प्रदान करते हैं। क्या तुम्हारे कहने का मतलब यही था? हालांकि मेरे पास मानचित्र में कोई बेसलेयर प्रॉपर्टी सेट नहीं है। – illwalkwithyou

+0

आह, हाँ; भी, क्या आपके कंटेनर की चौड़ाई और ऊंचाई सेट है? –

उत्तर

7

मिले एक समाधान। जब मैं heatMapLayer जोड़ रहा था तो मानचित्र को पूरी तरह से प्रारंभ नहीं किया गया था। समय समाप्त समारोह के अंदर अब मैं रखा है map.addLayer (heatmapLayer) के लिए एक ठीक मानचित्र सुनिश्चित करने के लिए के रूप में पूरी तरह से लोड है।

setTimeout(function(){ 
    map.addLayer(heatmapLayer); 
},500) 
+0

इससे मुझे बहुत समय बचाया! धन्यवाद! – Stophface

+0

यह मेरे लिए बिल्कुल काम नहीं करता था। मुझे नहीं लगता कि आप इसके लिए कोड पोस्ट कर सकते हैं? –

+0

मैं हाथ में कोड अब और दुर्भाग्य से नहीं है,। लेकिन, मैंने अपने द्वारा उठाए गए दृष्टिकोण के साथ उत्तर अपडेट किया है। – illwalkwithyou

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