2011-11-29 19 views
12

मैं वाहन रूटिंग समस्या पर काम कर रहा हूं। हाल ही में मैंने Google मानचित्र API के माध्यम से कुछ समय बिताया है यह देखने के लिए कि क्या मैं एक ही मानचित्र पर एकाधिक मार्ग प्रिंट कर सकता हूं। route1: बिंदु एक, ख, ग, एक मार्ग 2 बिंदु ए, डी, ई, एफ, एक मार्ग 3 बिंदु एक, जी, एच, एक और मैं चाहते हैं मैं निम्नलिखित चाहते हैं प्रत्येक मार्ग में एक अलग रंग पॉलीलाइन है। क्या कोई मेरी मदद कर सकता है।मानचित्र पर एकाधिक मार्ग प्राप्त करने के लिए Google मानचित्र 3 एपीआई का उपयोग

उत्तर

23

हाँ, यह बहुत आसान है, एक बार जब आप इसे लटका लेंगे।

आप निर्देशक ऑब्जेक्ट का उपयोग करना चाहते हैं।

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

यहां विभिन्न रंगीन पॉलिलाइन का उपयोग करने वाले किसी का उदाहरण दिया गया है। :

http://www.geocodezip.com/violette_com_TestMap2c.html

आप कोड की लाइनों के नीचे इन दोनों पर ध्यान केंद्रित करते हैं आप कैसे पॉलीलाइन रंग सेट कर दिया जाता है और यह भी कि कैसे directionsRenderer में भेजा जाता है देखेंगे।

directionsDisplayActual = new google.maps.DirectionsRenderer({suppressMarkers: true, polylineOptions: polylineOptionsActual}) 

var polylineOptionsActual = { 
     strokeColor: '#FF0000', 
     strokeOpacity: 1.0, 
     strokeWeight: 10 
     }; 

आपके मार्गों के लिए अगला तरीका। :

http://code.google.com/apis/maps/documentation/javascript/examples/directions-waypoints.html

एक और अच्छा उदाहरण है।

var request = { 
    origin: start, 
    destination: end, 
    waypoints: waypts, 
    optimizeWaypoints: true, 
    travelMode: google.maps.DirectionsTravelMode.DRIVING 
}; 
directionsService.route(request, function(response, status) { 

यदि आप Google उदाहरण में उपर्युक्त कोड पर ध्यान केंद्रित करते हैं तो आपको रास्ता अलग-अलग दिखाई देगा। यही वह जगह है जहां आपका अंतर्निहित मार्कर सेट किया जाएगा (जैसा कि आप बिंदु बी कहते हैं)। आप waypts.push(.....) कर ऐसा करेंगे। मूल और गंतव्य आपका बिंदु ए और बिंदु बी होगा।

किसी चीज़ को एक साथ थप्पड़ मारना बहुत मुश्किल नहीं होना चाहिए। मैं सुझाव देता हूं कि आपकी ज़रूरतों के मुकाबले एक Google उदाहरण हथियाने और उसे एक साधारण परियोजना में छोड़ दें और फिर वहां से इसे तैयार करें।

+0

आपके उत्तर के लिए धन्यवाद। ऐसा लगता है कि यह अभी भी एकमात्र मार्ग है, बस रास्ते के साथ। क्या आपको पता है कि यह संभव है - उदाहरण के लिए, एक ही समय में ड्राइविंग दूरी का उपयोग करके पैदल दूरी और एक मार्ग का उपयोग करके एक मार्ग है? –

+0

मुझे नहीं पता कि आप दो अलग-अलग मार्ग क्यों नहीं करेंगे। एक जिसे चलने के माध्यम से भेजा जाता है और एक जिसे इसे गाड़ी चलाया जाता है, आप इनमें से प्रत्येक को अलग से संसाधित करेंगे और उन्हें विभिन्न पोललाइनों के साथ मानचित्र पर रखेंगे। –

+0

मैं @ यूसर स्मिथ से सहमत हूं, मैंने अपने अंतिम मार्ग का निर्माण करने के लिए पॉलिलाइन का उपयोग किया। यहां उदाहरण https://code.google.com/p/gmaps-samples-v3/source/browse/trunk/io-2010-bootcamp/v3-polyline.html?r=111 – Purusartha

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