2016-03-12 68 views
0

我正在嘗試在我的離子應用中實施谷歌地圖。角谷歌地圖 - 窗口不會打開點擊?

我能夠動態生成標記,但似乎無法綁定infowindows。

$scope.arrayOfMarkers = []; 
for (var i = 0 ; i < results.length ; i++) { 
    var user = results[i]; 
    var mySID = JSON.parse(window.localStorage.getItem("userObject")).userProfileId; 
    if (user.userProfileId != mySID) { 
     var userCoords = { 
      latitude: user.userProfileLatitude, 
      longitude: user.userProfileLongitude 
     }; 
    var markerOptions = { 
     animation: "drop" 
    } 
    var thisMarker = { 
     id:i, 
     coords: userCoords, 
     options: markerOptions, 
     idKey: i, 
     window: { 
      show: false, 
      title: "Test" 
     } 
} 
$scope.arrayOfMarkers.push(thisMarker); 
    } 
} 

HTML

<ui-gmap-google-map id="map" center="map.center" zoom="map.zoom"> 
       <ui-gmap-marker ng-repeat="marker in arrayOfMarkers" coords="marker.coords" options="marker.options" events="marker.events" idkey="marker.id" window="marker.window">     
       </ui-gmap-marker> 
      </ui-gmap-google-map> 

當我點擊標記沒有任何反應。我應該如何實現窗口?

http://angular-ui.github.io/angular-google-maps/#!/

+0

你是不是綁定'arrayOfMarkers'的範圍'$ scope' '$ scope.arrayOfMarkers = arrayOfMarkers;' –

+0

我看着在文檔中,我想知道你從哪裏使用窗口指令 –

回答

1

你應該把在ui-gmap-marker內指令,並在點擊標記時調用函數。在我的示例中,呼叫功能toggleInfoWindow()就像click="toggleInfoWindow()"。它可以幫助你

<ui-gmap-google-map id="map" center="map.center" zoom="map.zoom"> 
    <ui-gmap-marker ng-repeat="marker in arrayOfMarkers" coords="marker.coords" options="marker.options" click="toggleInfoWindow()" events="marker.events" idkey="marker.id" window="marker.window"> 
      <ui-gmap-window options="windowOptions"> 
       <div>{{title}}</div> //your information here 
      </ui-gmap-window>    
    </ui-gmap-marker> 
</ui-gmap-google-map> 

在控制器添加toggleInfoWindow功能:

$scope.toggleInfoWindow= function() { 
    $scope.windowOptions.visible = !$scope.windowOptions.visible; 
}; 
+0

非常感謝你保存了我的理智! – anthonyhumphreys

1

我看着文檔中沒有發現window指令 但看你可以使用

<ui-gmap-windows show="{{window.show }}"> 
      <div ng-non-bindable>{{window.title}}</div> 
</ui-gmap-windows> 

ui-gmap-marker顯示什麼窗口

您可以參考以下鏈接doc for window