Complains about zoom value being a constant and unassignable

Error: [$compile:nonassign] Expression '18' used with directive 'googleMap' is non-assignable!
http://errors.angularjs.org/1.2.2/$compile/nonassign?p0=18&p1=googleMap
Performance improvement: using <markers> instead of <marker>

Flipped back and forth with my implementation of directives and angular-google-maps
Finally chose to continue sticking with the latter, because the same angular issues arose with mine.
I reimplemented my directive because I have the flexibility to define scope and create filters.

I saved the filtered results in a variable in the view, and using that variable for creating map
markers. However, that led me to "Error: 10 $digest() iterations reached". I learned from
StackOverflow that is not a wise thing to do.
http://stackoverflow.com/questions/14376879/error-10-digest-iterations-reached-aborting-with-dynamic-sortby-predicate

Then I tried to save the variable with a filter. Same error.

Then another StackOverflow thread gave me the answer I was looking for:
http://stackoverflow.com/questions/16050533/how-can-i-obtain-the-result-array-of-an-angular-filter-expression-in-a-varia

Do the filtering in the controller: watch the query input, and save the results that way.

So now I have the filtered restaurants stored in scope, and used in both <li> and <markers>