AngularJS: event callback does not work on local map brand of Google Maps

I developed the AngularUI uiMap directive to share InfoWindow for InfoBox and add MarkerClusters. I made some extensive updates for uiMap -> icMap; in particular, I moved the directory logic from the controllers, making uiMap the directive "master"). Almost everything works for me, except that clicking on the built-in MapMarker does not open the info box.

I think the reason is that I am not attaching the click event to my own MapMarker (ic-map.js: 163).

Before I organized uiMap again, I just added a directive icMapInfoBoxto map.js. His open event was recorded / triggered by:

ui-event="{'map-click':'openMarkerInfo(marker)'}"

which is called openMarkerInfo () defined in its controller (copy / paste from my repo: GitHub Gist ).

However, now when I click on my own MapMarker, nothing happens and I do not get errors in the console (but all other events still fire).

Original Plunk
Simplified Plunk (removed by MarkerClusters)
In both plows, the problem probably lies in ic-map.js (first file in the list)

map.json is the
angular.js data file, angular -ui.js, and infobox.js are the lib files

Edit I noticed that InfoBox.map- undefined; I guess this has something to do with this problem.

undefined InfoBox.map : InfoBox.open ic-map.js: 189 works ( , ), click - InfoBox.open. .

SOLVED: marker DOM js. .

+5
2

: http://plnkr.co/edit/mamx5EXtHxSo4aqMSZUd

  • > ic-map.js: 156 google.maps.event.addListener() (. p > ic-map.js: 154-156).
  • , 2 divs div#map (. p > index.html: 41-42). - , , MUST DOM ( , ). controller ( AngularUI). icMaps * ( ).
  • marker:
    • uiMapMarker, marker DOM: ng-repeat="marker in markers"
    • icMapMarkers, marker - js.
+1

All Articles