2012-03-26 22 views
5

के रूप में पीओआई खींचें मैं पत्रक के साथ कई भू बिंदु आकर्षित करना चाहता हूं। इसलिए मैं प्रदर्शन को बेहतर बनाने के लिए HTML5 कैनवास का उपयोग करना चाहता हूं। मेरा डेटासौयर geoJSON है। जैसा कि मैंने पत्रक के दस्तावेज में देखा है, फिर भी भू-पदों को कैनवास के रूप में आकर्षित करना संभव नहीं है।पुस्तिका जेएस: कैनवास

var anotherGeojsonLayer = new L.GeoJSON(coorsField, { 
     pointToLayer: function (latlng){ 
      return new L.Marker(latlng, { 
       icon: new BaseballIcon() 
      }); 
     } 
    }); 

मुझे लगता है कि मैं यहाँ ऊपर हुक चाहिए:

pointToLayer: समारोह (latlng) {}

किसी पता है कैसे कैनवास के रूप में मेरे LatLng वस्तुओं आकर्षित करने के लिए?

उत्तर

5

मामले में मूल जवाब पर विस्तार किसी को भी इस की जरूरत है: आप नियमित रूप से मार्कर के बजाय L.CircleMarker का उपयोग कर, और यह भी एक प्रयोगात्मक L_PREFER_CANVAS कैनवास (एसवीजी के बजाय) के रूप में प्रस्तुत करना वैक्टर करने के लिए स्विच का उपयोग कर, इस तरह से कर सकते हैं पत्रक 1.0 के लिए। L.marker() के बजाय आपको अभी भी L.circleMarker()(Leaflet circleMarker documentation) का उपयोग करना चाहिए, लेकिन कैनवास का उपयोग करने का तरीका बदल गया है।

पत्रक 1.0 में, प्रयोगात्मक L_PREFER_CANVAS स्विच को आधिकारिक मानचित्र विकल्प preferCanvas(Leaflet preferCanvas documentation) पर अपग्रेड कर दिया गया है।

var map = L.map('mapid', { 
     preferCanvas: true 
    }); 

वैकल्पिक रूप से, आप स्पष्ट रूप से कैनवास रेंडरर सेट कर सकते हैं; मुझे लगता है कि यह preferCavas विकल्प जैसा ही है। यहां Leaflet documentation for canvas है।

var map = L.map('mapid', { 
     renderer: L.canvas() 
    }); 

L.circleMarker() साथ इन विकल्पों (preferCanvas: true या renderer: L.canvas()) की या तो एक नियमित रूप से परत L.marker() का उपयोग कर की तुलना में काफी तेजी से किया गया था।