Skip to content

Commit e00a42b

Browse files
committed
Merge pull request allenhwkim#486 from dan-santana/master
Use removeListener instead of clearListeners
2 parents 099233f + 6947f28 commit e00a42b

File tree

12 files changed

+95
-45
lines changed

12 files changed

+95
-45
lines changed

build/docs/NgMap.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ <h5>Parameters:</h5>
265265
</dd>
266266
</dl><dl>
267267
<dt>
268-
<a href="source/NgMap.html#line113" class="name-link">
268+
<a href="source/NgMap.html#line114" class="name-link">
269269
<h4 class="name">
270270
getGeoLocation
271271
<span class="signature">(address, options)</span>
@@ -390,7 +390,7 @@ <h5>Parameters:</h5>
390390
</dd>
391391
</dl><dl>
392392
<dt>
393-
<a href="source/NgMap.html#line148" class="name-link">
393+
<a href="source/NgMap.html#line149" class="name-link">
394394
<h4 class="name">
395395
observeAndSet
396396
<span class="signature">(attrName, object)</span>
@@ -441,7 +441,7 @@ <h5>Returns:</h5>
441441
</dd>
442442
</dl><dl>
443443
<dt>
444-
<a href="source/NgMap.html#line202" class="name-link">
444+
<a href="source/NgMap.html#line203" class="name-link">
445445
<h4 class="name">
446446
setDefaultOptions
447447
<span class="signature">(options)</span>
@@ -481,7 +481,7 @@ <h5>Parameters:</h5>
481481
</dd>
482482
</dl><dl>
483483
<dt>
484-
<a href="source/NgMap.html#line177" class="name-link">
484+
<a href="source/NgMap.html#line178" class="name-link">
485485
<h4 class="name">
486486
setStyle
487487
<span class="signature">(map)</span>

build/docs/NgMapPool.html

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -188,16 +188,21 @@ <h1 class="title">
188188
<section>
189189
<div class="members">
190190
<h3 class="subsection-title">Members</h3>
191-
<dl>
192-
<dt>
193-
<a href="source/NgMapPool.html#line13" class="name-link">
194-
<h4 class="name">mapInstances</h4>
195-
</a>
196-
</dt>
197-
<dd>
198-
<div class="description"><p>map instance pool</p></div>
199-
</dd>
200-
</dl>
191+
<table class="props">
192+
<thead>
193+
<tr><th>Name</th><th>Type</th><th class="last">Description</th></tr>
194+
</thead>
195+
<tbody>
196+
<tr>
197+
<td class="name" nowrap="">mapInstances</td>
198+
<td class="type"><span class="param-type">
199+
</span></td>
200+
<td class="description last"><p>map instance pool</p></td>
201+
</tr>
202+
</tbody>
203+
</table>
204+
<br>
205+
<br>
201206
</div>
202207
<div class="functions">
203208
<h3 class="subsection-title">Methods</h3>
@@ -246,6 +251,19 @@ <h5>Returns:</h5>
246251
</table>
247252
</div>
248253
</dd>
254+
</dl><dl>
255+
<dt>
256+
<a href="source/NgMapPool.html#line71" class="name-link">
257+
<h4 class="name">
258+
resetMapInstances
259+
</h4>
260+
</a>
261+
</dt>
262+
<dd>
263+
<div class="description">
264+
<p>resets mapInstance array</p>
265+
</div>
266+
</dd>
249267
</dl><dl>
250268
<dt>
251269
<a href="source/NgMapPool.html#line60" class="name-link">

build/docs/css/custom.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@ nav {
5454
margin-top: -0.375rem;
5555
color: #FFFFFF;
5656
}
57+
.page-wrap #main h1 {
58+
color: inherit;
59+
}
60+
5761
.big-container {
5862
padding: 0rem;
5963
background-color: #FFFFFF;

build/docs/index.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,9 @@ <h1 class="title">
172172
<!-- index.html -->
173173
<section class="section-readme">
174174
<article>
175-
<h1>GoogleMap AngularJS Directive</h1><p><a href="https://travis-ci.org/allenhwkim/angularjs-google-maps"><img src="https://travis-ci.org/allenhwkim/angularjs-google-maps.png?branch=master" alt="Build Status"></a></p>
175+
<h1>GoogleMap AngularJS Directive</h1><!--
176+
[![Build Status](https://travis-ci.org/allenhwkim/angularjs-google-maps.png?branch=master)](https://travis-ci.org/allenhwkim/angularjs-google-maps)
177+
-->
176178
<h2>IMPORTANT NOTICE</h2><ul>
177179
<li><code>$scope.map</code> is deprecated. Use <code>NgMap.getMap().then(function(map) {...})</code>
178180
instead to get a map instance.</li>

build/docs/source/NgMap.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,9 +253,10 @@ <h1 class="title">
253253
var len = Object.keys(mapControllers).length - 1;
254254
var mapId = mapCtrl.map.id || len;
255255
if (mapCtrl.map) {
256-
for (var eventName in mapCtrl.mapEvents) {
256+
for (var eventName in mapCtrl.eventListeners) {
257257
console.log('clearing map events', eventName);
258-
google.maps.event.clearListeners(mapCtrl.map, eventName);
258+
var listener = mapCtrl.eventListeners[eventName];
259+
google.maps.event.removeListener(listener);
259260
}
260261
if (mapCtrl.map.controls) {
261262
mapCtrl.map.controls.forEach(function(ctrl) {

build/docs/source/NgMapPool.html

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,10 +236,22 @@ <h1 class="title">
236236
var returnMapInstance = function(map) {
237237
map.inUse = false;
238238
};
239+
/**
240+
* @memberof NgMapPool
241+
* @function resetMapInstances
242+
* @desc resets mapInstance array
243+
*/
244+
var resetMapInstances = function() {
245+
for(var i = 0;i &lt; mapInstances.length;i++) {
246+
mapInstances[i] = null;
247+
}
248+
mapInstances = [];
249+
};
239250
var NgMapPool = function(_$document_, _$window_, _$timeout_) {
240251
$document = _$document_[0], $window = _$window_, $timeout = _$timeout_;
241252
return {
242-
mapInstances: mapInstances,
253+
mapInstances: mapInstances,
254+
resetMapInstances: resetMapInstances,
243255
getMapInstance: getMapInstance,
244256
returnMapInstance: returnMapInstance
245257
};

build/docs/source/ngmap.custom-marker.html

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -295,23 +295,21 @@ <h1 class="title">
295295
element[0].style.display = 'none';
296296
console.log("custom-marker options", options);
297297
var customMarker = new CustomMarker(options);
298-
$timeout(function() { //apply contents, class, and location after it is compiled
299-
scope.$watch('[' + varsToWatch.join(',') + ']', function() {
300-
customMarker.setContent(orgHtml, scope);
301-
});
302-
customMarker.setContent(element[0].innerHTML, scope);
303-
var classNames = element[0].firstElementChild.className;
304-
customMarker.addClass('custom-marker');
305-
customMarker.addClass(classNames);
306-
console.log('customMarker', customMarker, 'classNames', classNames);
307-
if (!(options.position instanceof google.maps.LatLng)) {
308-
NgMap.getGeoLocation(options.position).then(
309-
function(latlng) {
310-
customMarker.setPosition(latlng);
311-
}
312-
);
313-
}
314-
});
298+
scope.$watch('[' + varsToWatch.join(',') + ']', function() {
299+
customMarker.setContent(orgHtml, scope);
300+
});
301+
customMarker.setContent(element[0].innerHTML, scope);
302+
var classNames = element[0].firstElementChild.className;
303+
customMarker.addClass('custom-marker');
304+
customMarker.addClass(classNames);
305+
console.log('customMarker', customMarker, 'classNames', classNames);
306+
if (!(options.position instanceof google.maps.LatLng)) {
307+
NgMap.getGeoLocation(options.position).then(
308+
function(latlng) {
309+
customMarker.setPosition(latlng);
310+
}
311+
);
312+
}
315313
console.log("custom-marker events", "events");
316314
for (var eventName in events) { /* jshint ignore:line */
317315
google.maps.event.addDomListener(

build/scripts/ng-map.debug.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ angular.module('ngMap', []);
4040

4141
vm.mapOptions; /** @memberof __MapController */
4242
vm.mapEvents; /** @memberof __MapController */
43+
vm.eventListeners; /** @memberof __MapController */
4344

4445
/**
4546
* Add an object to the collection of group
@@ -210,7 +211,9 @@ angular.module('ngMap', []);
210211

211212
// set events
212213
for (var eventName in mapEvents) {
213-
google.maps.event.addListener(vm.map, eventName, mapEvents[eventName]);
214+
var event = mapEvents[eventName];
215+
var listener = google.maps.event.addListener(vm.map, eventName, event);
216+
vm.eventListeners[eventName] = listener;
214217
}
215218

216219
// set observers
@@ -251,6 +254,7 @@ angular.module('ngMap', []);
251254

252255
vm.mapOptions = mapOptions;
253256
vm.mapEvents = mapEvents;
257+
vm.eventListeners = {};
254258

255259
if (options.lazyInit) { // allows controlled initialization
256260
vm.map = {id: $attrs.id}; //set empty, not real, map
@@ -2963,9 +2967,10 @@ angular.module('ngMap', []);
29632967
var len = Object.keys(mapControllers).length - 1;
29642968
var mapId = mapCtrl.map.id || len;
29652969
if (mapCtrl.map) {
2966-
for (var eventName in mapCtrl.mapEvents) {
2970+
for (var eventName in mapCtrl.eventListeners) {
29672971
console.log('clearing map events', eventName);
2968-
google.maps.event.clearListeners(mapCtrl.map, eventName);
2972+
var listener = mapCtrl.eventListeners[eventName];
2973+
google.maps.event.removeListener(listener);
29692974
}
29702975
if (mapCtrl.map.controls) {
29712976
mapCtrl.map.controls.forEach(function(ctrl) {

build/scripts/ng-map.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ angular.module('ngMap', []);
4040

4141
vm.mapOptions; /** @memberof __MapController */
4242
vm.mapEvents; /** @memberof __MapController */
43+
vm.eventListeners; /** @memberof __MapController */
4344

4445
/**
4546
* Add an object to the collection of group
@@ -210,7 +211,9 @@ angular.module('ngMap', []);
210211

211212
// set events
212213
for (var eventName in mapEvents) {
213-
google.maps.event.addListener(vm.map, eventName, mapEvents[eventName]);
214+
var event = mapEvents[eventName];
215+
var listener = google.maps.event.addListener(vm.map, eventName, event);
216+
vm.eventListeners[eventName] = listener;
214217
}
215218

216219
// set observers
@@ -251,6 +254,7 @@ angular.module('ngMap', []);
251254

252255
vm.mapOptions = mapOptions;
253256
vm.mapEvents = mapEvents;
257+
vm.eventListeners = {};
254258

255259
if (options.lazyInit) { // allows controlled initialization
256260
vm.map = {id: $attrs.id}; //set empty, not real, map
@@ -2961,9 +2965,10 @@ angular.module('ngMap', []);
29612965
var len = Object.keys(mapControllers).length - 1;
29622966
var mapId = mapCtrl.map.id || len;
29632967
if (mapCtrl.map) {
2964-
for (var eventName in mapCtrl.mapEvents) {
2968+
for (var eventName in mapCtrl.eventListeners) {
29652969
void 0;
2966-
google.maps.event.clearListeners(mapCtrl.map, eventName);
2970+
var listener = mapCtrl.eventListeners[eventName];
2971+
google.maps.event.removeListener(listener);
29672972
}
29682973
if (mapCtrl.map.controls) {
29692974
mapCtrl.map.controls.forEach(function(ctrl) {

build/scripts/ng-map.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)