2013-02-27 189 views
7

के साथ बहुभुज में ईवेंट परिवर्तनों को ट्रैक करने के लिए कैसे मैं वर्तमान में उस साइट के लिए 'एक क्षेत्र खोजें' सुविधा बना रहा हूं जिस पर हम काम कर रहे हैं। Rightmove पर एक की तरह थोड़ा।Google मानचित्र API

मुझे पॉलीगॉन में ईवेंट परिवर्तनों को ट्रैक करने की क्षमता को छोड़कर सब कुछ मिल गया है और चल रहा है (नए बिंदुओं की सेटिंग और मौजूदा में बदलाव)। मुझे जमा करने के लिए फॉर्म में निर्देशांक पोस्ट करने में सक्षम होना चाहिए।

मैंने editing events के लिए Google Code दस्तावेज़ों का प्रयास किया है। और हर बार जब मैं इसे आज़माता हूं, तो मुझे या तो 'set_at' के बारे में कोई संदेश नहीं मिलता है या मेरी वस्तु को परिभाषित नहीं किया जा रहा है।

मुझे लगता है थोड़ा मैं जानता हूँ कि कुछ गड़बड़ है thePolygon चर नहीं नई google.maps.event.addListener(thePolygon, 'set_at', function() { // grab paths for infoWindow grabPaths(thePath); });

के माध्यम से पारित किया जा रहा है लेकिन मैं पता नहीं क्यों। यह एक वैश्विक चर है। या नहीं है?

तो सवाल यह है कि, मैं अपने फॉर्म के माध्यम से अद्यतन निर्देशांक पास करने के लिए बहुभुज में परिवर्तनों को कैसे ट्रैक कर सकता हूं?

सभी मदद की बहुत सराहना की जाती है।

var mapOptions = { 
    // options 
}; 

var map = new google.maps.Map(document.getElementById('map'), mapOptions); 

var drawingManager = new google.maps.drawing.DrawingManager({ 
    drawingMode: google.maps.drawing.OverlayType.POLYGON, 
    drawingControl: false, 
    polygonOptions: { 
    // drawing options 
    } 
}); 

drawingManager.setMap(map); 

google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) { 
    // complete functions 
}); 

google.maps.event.addListener(thePolygon, 'set_at', function() { 
    // complete functions 
}); 

google.maps.event.addListener(thePolygon, 'insert_at', function() { 
    // complete functions 
}); 

उत्तर

22

इन घटनाओं MVCArray के लिए परिभाषित कर रहे हैं, एक पॉलीलाइन एक MVCArray नहीं है:

यहाँ कोड मैं वर्तमान में है। आपको पॉलीलाइन के path (जो एक एमवीसीएरे है) के लिए घटनाओं का पालन करना होगा। इसके अलावा आप किसी ऑब्जेक्ट में श्रोता नहीं जोड़ सकते जो अभी तक नहीं बनाया गया है।

google.maps.event.addListener(drawingManager,'polygoncomplete',function(polygon) { 

    // complete functions 

    google.maps.event.addListener(thePath, 'set_at', function() { 
    // complete functions 
    }); 

    google.maps.event.addListener(thePath, 'insert_at', function() { 
    // complete functions 
    }); 

}); 
+0

हा हा, एक का इलाज काम करता है: बहुभुज ताकि आप polygoncomplete-कॉलबैक अंदर श्रोताओं को जोड़ना होगा, polygoncomplete से पहले उपलब्ध नहीं है। मैं बहुत करीब था, अभी तक। आपकी सहायता के लिए धन्यवाद. इसकी बहुत सराहना की गई थी। यह पथ परिवर्तन को पकड़ रहा था जिसे मैं समझ नहीं पाया। फिर भी यह इतना आसान था। –

+0

देखें http://stackoverflow.com/questions/12515748/event-after-modifying-polygon-in-google-maps-api-v3 – jjwdesign

+5

'Path' –