संग्रहित करना मैं Google मानचित्र पर Google मानचित्र दिशा-निर्देश मार्ग को आसानी से स्टोर और फिर से चलाने में सक्षम होना चाहता हूं। मान लें कि बिंदु ए से बी तक, DirectionsResult Google से ऑब्जेक्ट में मार्ग के साथ 100 अंक हैं, मैं इस मार्ग को स्टोर करने में सक्षम होना चाहता हूं और अगली बार जब मैं इसे पेंट करता हूं तो गारंटी इन दिशाओं के माध्यम से दिशानिर्देश जाएगी।पूरा Google मानचित्र मार्ग
जिस तरह से मैंने लोगों को ऐसा करने का प्रयास किया है, वह पूरे दिशाओं को क्रमबद्ध करना है और इसे डेटाबेस में संग्रहीत करना है। फिर जब हम मार्ग को फिर से लेना चाहते हैं, तो स्ट्रिंग बैक अप भेजें, JSON। इसे पार्स करें, और उसके बाद इसे DirectionsRenderer ऑब्जेक्ट पर फ़ीड करने का प्रयास करें जो मानचित्र पर दिशानिर्देश प्रस्तुत करेगा।
1) आप क्रमबद्धता की प्रक्रिया के दौरान प्रकार की जानकारी खो देते हैं, और के बाद से गूगल वस्तुओं minnifies, आप वर्ग कार्यों का उपयोग करने के लिए वस्तु से बाहर मज़बूती से इन मूल्यों को प्राप्त करने में सक्षम नहीं हैं: यह दृष्टिकोण तीन समस्या है। शुरुआत में ऑब्जेक्ट को क्रमबद्ध करते समय 'प्लेसहोल्डर' ऑब्जेक्ट्स बनाने के लिए आपको डेटा एक्सेसर फ़ंक्शंस का उपयोग करने की आवश्यकता है, फिर बाद में सीरियलाइज्ड स्ट्रिंग को पार्स करते समय Google मानचित्र ऑब्जेक्ट्स का पुनर्निर्माण करें।
2) यह कानूनी रूप से संदिग्ध है। Google मानचित्र TOS का कहना है कि आपको डेटा को स्थायी रूप से संग्रहीत नहीं करना चाहिए और यह अन्य पदों से लगता है कि यह दृष्टिकोण इसका उल्लंघन करता है।
3) ऑब्जेक्ट बड़ा हो सकता है, एक मार्ग I serialized 64KB से अधिक था।
मैंने पथ से कुछ बिंदुओं को स्टोर करने और फिर वेपॉइंट्स का उपयोग करके इसे पुनर्निर्माण करने की कोशिश करने के बारे में भी सोचा। इस तरह के काम करता है लेकिन आप मुफ्त एपीआई के लिए केवल 8 अंक प्राप्त कर सकते हैं, इसलिए यह उन 8 अंकों से अधिक सटीकता की गारंटी नहीं देता है। इसके अलावा, यह उस मार्ग के साथ मार्ग बिंदु चिह्नकों को चित्रित करता है जो मुझे लगता है कि उपयोगकर्ता को भ्रमित कर सकता है।
क्या Google मानचित्र से सटीक मार्गों को स्टोर करने का कोई स्वीकार्य तरीका है, या एपीआई और टीओएस उद्देश्य से इसे रोकने के लिए डिज़ाइन किए गए हैं? सहायता के लिए धन्यवाद।
यहां बताया गया है कि हमने इसे कैसे हल किया: मैंने "एन्कोडेड_पोलीलाइन" फ़ील्ड लिया और इसे हमारे बैकएंड पर भेज दिया। अगर मुझे बैकएंड पर बिंदुओं को संसाधित करने की आवश्यकता है, तो मैंने Google पॉलीलाइन डिकोडिंग एल्गोरिदम का एक संस्करण इस्तेमाल किया जो मैंने लाइन पर पाया और रूबी (या जो भी भाषा आप उपयोग कर रहे हैं) पर पोर्टिंग किया। यहां एक [पायथन संस्करण] है (http://code.google.com/p/py-gpolyencode/) मैंने पाया। यदि आपको फ्रंट एंड पर पॉलीलाइन प्रदर्शित करने की आवश्यकता है तो आप पॉलीलाइन को फ्रंट एंड तक भेजें और [Google ज्यामिति टूल] का उपयोग करें (https://developers.google.com/maps/documentation/javascript/3.exp/संदर्भ # एन्कोडिंग) इसे डीकोड करने के लिए। – jargetz
बेशक इसका नकारात्मक पक्ष यह केवल पॉलीलाइन के रूप में मार्ग प्रदर्शित करता है, इसलिए यदि आप मार्ग बिंदु चाहते हैं, तो आपको उन्हें भी स्टोर करना होगा। और यदि आप मार्ग को संपादन योग्य बनाना चाहते हैं तो आप भाग्य से बाहर हैं, आपको केवल दिशाओं के नए सेट का अनुरोध करना होगा। – jargetz
यदि आपके पास मार्गपॉइंट्स के साथ मार्कर हैं तो आप 'waypoints list' (या 'स्टार्ट'-'end' बिंदु' के साथ 'मार्कर सूची' को क्रमशः 'डेटाबेस' में अनुक्रमित कर सकते हैं और फिर उसी अनुक्रम और पास के साथ जब भी आवश्यकता हो प्रारंभ और अंत बिंदु के साथ दिशा निर्देश के लिए। यह नक्शे पर फिर से मार्ग खींच जाएगा। – bharat