2013-02-18 22 views
5

मैं इस तरह से AngularUI गूगल मैप्स निर्देश उपयोग कर रहा हूँ:AngularUI - गूगल मैप्स - निकालें मार्कर

UpdateData.html

<div ng-repeat="marker in myMarkers" ui-map-marker="myMarkers[$index]"></div> 

<div class="control-group"> 
    <label class="control-label">Situación</label> 
    <div class="controls"> 
     <div id="map_canvas" ui-map="model.myMap" class="map" ui-event="{'map-click': 'addMarker($event)'}" ui-options="mapOptions"></div> 
    </div> 
</div> 

UpdateController

if (!$scope.myMarkers) { 
    $scope.myMarkers = []; 
} 

if (!$scope.myMap) { 
    $scope.model = { 
     myMap: undefined 
    }; 
} 

$scope.mapOptions = { 
    center : new google.maps.LatLng(35.784, -78.670), 
    zoom : 15, 
    mapTypeId : google.maps.MapTypeId.ROADMAP 
}; 

$scope.addMarker = function($event) { 
    $scope.myMarkers.push(new google.maps.Marker({ 
     map : $scope.model.myMap, 
     position : $event.latLng 
    })); 

    $scope.event.lat = $event.latLng.lat(); 
    $scope.event.lng = $event.latLng.lng(); 
}; 

मैं जोड़ सकते हैं नए मार्कर और मानचित्र सफलतापूर्वक अपडेट किया गया है, मैं उन्हें हटा नहीं सकता हूं। मैं क्या है निम्नलिखित:

$scope.myMarkers.splice(0, $scope.myMarkers.length); 

myMarkers सरणी हो जाता है खाली लेकिन नक्शा भी निकाले गए मार्करों शामिल हैं। ऐसा लगता है कि myMarkers सरणी और मानचित्र myMarkers सरणी पर नए मार्करों को दबाते समय सिंक्रनाइज़ किए जाते हैं, लेकिन जब myMarkers सरणी साफ़ नहीं होती है।

उत्तर

7

myMarker.setMap(null) आज़माएं।

आपको अभी भी सबकुछ करने के लिए Google मानचित्र API का उपयोग करना होगा, इसमें बहुत अधिक जादू शामिल नहीं है। एकमात्र कारण ui-map-marker एक निर्देश है ताकि आप आसानी से अपने मार्कर

5

पर अपने आप को जवाब दे सकें। इस लाइन

$scope.myMarkers.splice(0, $scope.myMarkers.length); 

यह किया जाना चाहिए को क्रियान्वित करने से पहले:

angular.forEach($scope.myMarkers, function(marker) { 
    marker.setMap(null); 
}); 
+0

हैलो मैं एक ही समस्या है, और यह मेरे लिए काम नहीं किया क्योंकि मैं नहीं कर रहा हूँ 'नई google.maps.Marker का उपयोग कर ({ मानचित्र: $ scope.model.myMap, स्थिति: $ event.latLng }) 'मार्कर जोड़ने के लिए, कस्टमाइज़ आइकन और जानकारी के साथ मार्कर जोड़ने के लिए एक कस्टमाइज़ फ़ंक्शन। क्या आपको पता है कि इससे कैसे निपटें? – Ayyoub