2011-01-27 15 views
27

मैं जब एक गूगल मानचित्र के भीतर DirectionsRender का उपयोग कर मार्कर आइकन बदलने के लिए देख रहा हूँ। मैंने here से एक ही आइकन पर मार्करों को बदलने का तरीका बताया है, लेकिन मैं शुरुआत और अंत बिंदु दोनों पर कस्टम आइकन ढूंढ रहा हूं। कोई विचार?गूगल मैप्स दिशाओं API v3 में अलग-अलग मार्कर बदलें

संपादित करें: मैं कैसे आरंभ और अंत मार्करों के लिए अलग चिह्न आवंटित करने के लिए की तलाश में हूँ। मुझे पता है कि इसे दोनों के लिए कैसे बदला जाए, लेकिन अलग-अलग मार्कर आइकन होने से मुश्किल साबित हो रही है।

उत्तर

61

उन लोगों के लिए था टी एक उदाहरण की जरूरत है जैसे मैंने किया था, यहाँ एक बुनियादी एक है:

// Map and directions objects 
var map = new google.maps.Map(element, options); 
var service = new google.maps.DirectionsService(); 
var directions = new google.maps.DirectionsRenderer({suppressMarkers: true}); 

// Start/Finish icons 
var icons = { 
    start: new google.maps.MarkerImage(
    // URL 
    'start.png', 
    // (width,height) 
    new google.maps.Size(44, 32), 
    // The origin point (x,y) 
    new google.maps.Point(0, 0), 
    // The anchor point (x,y) 
    new google.maps.Point(22, 32) 
), 
    end: new google.maps.MarkerImage(
    // URL 
    'end.png', 
    // (width,height) 
    new google.maps.Size(44, 32), 
    // The origin point (x,y) 
    new google.maps.Point(0, 0), 
    // The anchor point (x,y) 
    new google.maps.Point(22, 32) 
) 
}; 

service.route({ origin: origin, destination: destination }, function(response, status) { 
if (status == google.maps.DirectionsStatus.OK) { 
    display.setDirections(response); 
    var leg = response.routes[ 0 ].legs[ 0 ]; 
    makeMarker(leg.start_location, icons.start, "title"); 
    makeMarker(leg.end_location, icons.end, 'title'); 
} 
}); 
function makeMarker(position, icon, title) { 
new google.maps.Marker({ 
    position: position, 
    map: map, 
    icon: icon, 
    title: title 
}); 
} 

एक मार्ग अनुरोध से प्रतिक्रिया एक पैर (रों) अपने मार्ग पर बंद हो जाता है की संख्या के आधार देता है। मैं केवल ए टू बी रूट कर रहा हूं, इसलिए केवल पहला चरण लें, और मार्करों को कहां जाना है, और उन स्थानों के लिए मार्कर बनाने की स्थिति प्राप्त करें।

+9

मार्करों को दिशानिर्देशों के भीतर बदलने के बारे में क्या? – Jason

+0

हाँ, अच्छा सवाल है! – keatch

+0

मैंने दूसरी बार दिशानिर्देशों की गणना करने से पहले सभी मार्करों को साफ़ करने के लिए कार्यक्षमता जोड़ा। Https://developers.google.com/maps/documentation/javascript/examples/marker-remove – lmeurs

10

है के रूप में वे उस पृष्ठ पर कहते हैं कि तुम से जुड़ा हुआ: सत्य पर suppressMarkers विकल्प दिखा

  • दो नए मार्करों के लिए images बनाएं से डिफ़ॉल्ट आरंभ और अंत मार्करों को रोकने के लिए सेट

    • स्थिति आरंभ और अंत पदों के लिए सेट के साथ markers बनाएँ, और लोगों के लिए सेट आइकन आपके द्वारा बनाए
  • +0

    लेकिन आप उन्हें कैसे प्रतिपादक वस्तु को निर्दिष्ट करूं? यह केवल एक मार्कर ऑप्शन ऑब्जेक्ट लेता है, दो नहीं। –

    +3

    आप उन्हें असाइन नहीं करते हैं। बस उनके लिए निर्देशांक प्राप्त करें और दो नए मार्कर बनाएं। – aniri

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