2

目的 マップ上に多数のランダム マーカーを表示します。それらのいずれかがクリックされると、情報ウィンドウが開きます。API ページ (マーカー) の例の 1 つを使用し、ウィンドウのマークアップと、ウィンドウを表示するためのクリック ハンドラー メソッドを追加しました。しかし、私はそれを機能させることはできません

問題 マーカーは表示されますが、クリックしてもウィンドウが表示されません。

さておき 、タグとng-repeatを使用すると、これが機能しました。しかし、ドキュメントによると、タグが推奨される方法です。

何か案は?

例: https://angular-ui.github.io/angular-google-maps/#!/api

ここでプランク: http://plnkr.co/edit/ze7EKMQNV7MLGkmlhiAC

  <div id="map_canvas" ng-controller="mainCtrl">
    <google-map center="map.center" zoom="map.zoom" draggable="true" options="options" bounds="map.bounds">
      <markers models="randomMarkers" coords="'self'" icon="'icon'" click="'onClicked'">
        <window ng-cloak show="'showWindow'">
          <h1>{{title}}!</h1>
        </window>
      </markers>
    </google-map>
  </div>

 $scope.$watch(function() {
      return $scope.map.bounds;
    }, function(nv, ov) {
      // Only need to regenerate once
      if (!ov.southwest && nv.southwest) {
        var markers = [];
        for (var i = 0; i < 5; i++) {
          markers.push(createRandomMarker(i, $scope.map.bounds))
        }
        for (var y = 0; y < 5; y++) {
          var marker = markers[y];
          marker.onClicked = function() {
            marker.showWindow = true;
          }
        }

        $scope.randomMarkers = markers;
      }
    }, true);

解決済み これは、nitewulf50 によってリンクされた plunk を使用して解決されました。

いくつかのメモ:

Window タグが持つことができる子は 1 つだけのようです。そのため、すべてのコンテンツを div で囲む必要がありました。

4

1 に答える 1

1

Windows と Window は、あなたが望むように機能させるのが難しいようです。数日前に Windows で問題が発生し、github の cthrax によって投稿された Window を使用した解決策が提供されました。

https://github.com/angular-ui/angular-google-maps/issues/633

それがあなたにも役立つことを願っています。

于 2014-08-21T13:52:48.220 に答える