Skip to content

Commit 8bfc147

Browse files
committed
clean up the directive and add more options to make it a more complete directive
1 parent 255a7af commit 8bfc147

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

app/scripts/directives/drawing-manager.js

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,15 @@
1212
* <map zoom="13" center="37.774546, -122.433523" map-type-id="SATELLITE">
1313
* <drawing-manager on-overlaycomplete="onMapOverlayCompleted()" position="ControlPosition.TOP_CENTER" drawingModes="POLYGON,CIRCLE" drawingControl="true" circleOptions="fillColor: '#FFFF00';fillOpacity: 1;strokeWeight: 5;clickable: false;zIndex: 1;editable: true;" ></drawing-manager>
1414
* </map>
15+
*
16+
* TODO: Add remove button.
17+
* currently, for out solution, we have the shapes/markers in our own controller, and we use some css classes to change the shape button
18+
* to a remove button (<div>X</div>) and have the remove operation in our own controller.
1519
*/
1620
/*jshint -W089*/
1721
ngMap.directive('drawingManager', ['Attr2Options', function(Attr2Options) {
1822
var parser = Attr2Options;
1923

20-
21-
var getShape = function(shapeName){
22-
var supportShapes = ["marker","circle","polygon","polyline","rectangle"];
23-
if(supportShapes.indexOf(shapeName.trim().toLowerCase()) !== -1){
24-
return google.maps.drawing.OverlayType[shapeName.trim().toUpperCase()];
25-
}
26-
}
27-
2824
return {
2925
restrict: 'E',
3026
require: '^map',
@@ -36,14 +32,20 @@ ngMap.directive('drawingManager', ['Attr2Options', function(Attr2Options) {
3632
var controlOptions = parser.getControlOptions(filtered);
3733
var events = parser.getEvents(scope, filtered);
3834

35+
console.log("filtered", filtered, "options", options, 'controlOptions', controlOptions, 'events', events);
36+
3937
/**
4038
* set options
4139
*/
4240
var drawingManager = new google.maps.drawing.DrawingManager({
4341
drawingMode: options.drawingmode,
4442
drawingControl: options.drawingcontrol,
4543
drawingControlOptions: controlOptions.drawingControlOptions,
46-
circleOptions:options.circleoptions
44+
circleOptions:options.circleoptions,
45+
markerOptions:options.markeroptions,
46+
polygonOptions:options.polygonoptions,
47+
polylineOptions:options.polylineoptions,
48+
rectangleOptions:options.rectangleoptions
4749
});
4850

4951

testapp/drawing-manager.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
<body>
2828
<div ng-controller="DrawingManagerCtrl">
2929
<map zoom="13" center="37.774546, -122.433523" map-type-id="ROADMAP" street-view-control-options="{position: 'LEFT_CENTER'}">
30-
<drawing-manager on-overlaycomplete="onMapOverlayCompleted()" drawing-control-options="{position: 'TOP_CENTER',drawingModes:['polygon']}" drawingControl="true" drawingMode="null" circleOptions="{fillColor: '#FFFF00',fillOpacity: 1,strokeWeight: 5,clickable: false,zIndex: 1,editable: true}" ></drawing-manager>
30+
<drawing-manager on-overlaycomplete="onMapOverlayCompleted()" drawing-control-options="{position: 'TOP_CENTER',drawingModes:['polygon','rectangle','circle']}" drawingControl="true" drawingMode="null" markerOptions="{icon:'www.example.com/icon'}" rectangleOptions="{fillColor:'red'}" circleOptions="{fillColor: '#FFFF00',fillOpacity: 1,strokeWeight: 5,clickable: false,zIndex: 1,editable: true}" ></drawing-manager>
3131
</map>
3232
</div>
3333
</body>

0 commit comments

Comments
 (0)