2012-07-18 11 views
5

मेरे पास एक छवि है (छवि एक इमारत के लिए एक मंजिल योजना है), और छवि में विभिन्न कमरे हैं जो या तो खुले या आरक्षित हो सकते हैं। मैंने कमरे के निर्देशांक को मैप करने के लिए एक छविमैप और हॉटस्पॉट का उपयोग किया है और मैं उन घटनाओं को करने के लिए ऑनक्लिक घटनाओं को संभालने में कामयाब रहा हूं जो मुझे पूरा करने के लिए आवश्यक हैं। समस्या यह है कि कमरे आरक्षित होने के बाद मैं हॉटस्पॉट के निर्देशांक कैसे रंग सकता हूं? मैं अपने डेटाबेस में आरक्षित कमरे का ट्रैक रखता हूं, इसलिए यह पता नहीं है कि कौन सा कमरा आरक्षित है, लेकिन समस्या यह है कि हॉटस्पॉट के लिए कोई रंगीन संपत्ति नहीं है। इस बारे में जाने का सबसे अच्छा तरीका क्या है? जावास्क्रिप्ट?छविमैप पर एएसपी हॉटस्पॉट कैसे रंग करें?

मुझे पता है कि मैं क्लिक और व्हाट्नॉट पर छवियों को स्वैप कर सकता हूं, लेकिन सैकड़ों कमरे हैं, और यह आरक्षित/आरक्षित कमरों की हर संभावना के लिए कई छवियों के लिए समय बर्बाद होगा।

उत्तर

0

एचटीएमएल 5 प्रक्रियात्मक ड्राइंग करते canvas

+0

महान जवाब है, लेकिन मैं एक मुद्दा ड्राइंग है नहीं होगा अगर मैं क्या करने की जरूरत यह सर्वर-साइड से ग्राहक पक्ष नहीं है? मैं अपने डेटाबेस तक पहुंचने में सक्षम होना चाहिए, इसलिए पेजेलोड पर, आरक्षित कमरे को रंग दें। –

+0

ओह, फिर जीडीआई + का उपयोग करने का रास्ता होगा। सुबह में एक उदाहरण पोस्ट करेगा यदि कोई और मेरे पास –

2

के माध्यम से आप jQuery का कहना है कि नहीं, लेकिन यह यकीन है कि शून्य से शुरू की तुलना में आसान होगा है। jQuery प्लगइन यह करने के लिए:

http://www.outsharked.com/imagemapster/

आपका डेटाबेस का उपयोग इस मुद्दे को एक रेड हेरिंग का एक सा है। पृष्ठ लोड होने पर मार्कअप के हिस्से के रूप में आवश्यक डेटा को पास नहीं कर सकता है, उदाहरण के लिए कोई कारण नहीं है।

<script type="application/json" id="map-data"> 
    [1,2,10,33] 
</script> 

.. या जो भी प्रारूप/संरचना/डेटा प्रकार आपके लिए उपयोगी हैं। आपको script ब्लॉक का उपयोग करने की आवश्यकता नहीं है - आप इसे एक छिपा div में डाल सकते हैं, इससे कोई फर्क नहीं पड़ता। न ही आपको JSON का उपयोग करना होगा, यह केवल सुविधाजनक है। फिर आप आवश्यक डेटा को हाइलाइट करने के लिए उस डेटा का उपयोग छविमैस्टर जैसे कुछ इनपुट के रूप में कर सकते हैं। जब तक आप इसे कॉन्फ़िगर नहीं कर लेते तब तक छवि को बस छुपाएं, और जहां तक ​​अंतिम उपयोगकर्ता कभी भी देखेगा, इस तरह यह सर्वर से लोड किया गया था। मार्कअप से कुछ डेटा ले, और इसका उपयोग ImageMapster का उपयोग कर एक ImageMap पर हॉटस्पॉट सेट करने के लिए की

उदाहरण:

http://jsfiddle.net/jamietre/hD6bM/

+0

से पहले नहीं मिलता है, मुझे लगता है कि यह मेरे डेटाबेस तक पहुंचने और पृष्ठ लोड पर कमरे के रंग बदलने के समान मुद्दे में चलता है ... इस सर्वर की ओर से कोई भी तरीका है? –

+0

निश्चित रूप से सर्वर पक्ष करने का एक तरीका है, लेकिन शायद इसे जीडीआई + या वास्तव में छवियों को आकर्षित करने की तरह काम करने के लिए बहुत अधिक काम की आवश्यकता होगी। जब भी वे पृष्ठ तक पहुंचे तो अंत उपयोगकर्ताओं को पूरी तरह से नई छवि डाउनलोड करने की आवश्यकता होगी, जो इसकी आवाज से एक बड़ी छवि हो सकती है। आप किसी अन्य के लिए एक समस्या का व्यापार करते हैं। इन दिनों जावास्क्रिप्ट बहुत तेज है, क्लाइंट पर ऐसा करने में प्रदर्शन समस्या का अनुमान लगाने का कोई कारण नहीं है। आपको डेटाबेस के लिए विशेष अनुरोध करने की आवश्यकता नहीं है, बस जेएसओएन के रूप में पेज लोड पर डेटा पास करें, और क्लाइंट इसका उपयोग करके प्रतिपादन करें। –

+0

ने मेरा उत्तर अपडेट किया है कि आप सर्वर से पारित डेटा का उपयोग कैसे कर सकते हैं। –

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