2016-06-01 38 views
1

我正在使用ui-angular,但是我無法弄清楚如何讓地圖平移到一個新的位置。我明白它如何工作,我只是使用Leaflet.js,但因爲這是一個指令,我不明白我應該用什麼對象來與頁面上的地圖進行交互。如何使用ui-angiular獲得Pan的地圖?

Here is my map directive 
<leaflet id="owmMap" center="center" markers="markers" layers="layers"></leaflet> 

Here is my code so far. 

    $scope.moveTo = function(obj){ 
     console.log(obj); 

     //map.panTo((new L.LatLng(40.737, -73.923));); <--- This is what I need to replicate 
} 

回答

2

好吧,像大多數事情一樣,答案被埋在文檔中。出於某種原因,實際上有3個不同的站點爲這個插件與不同的文檔集,但我找到了答案在git回購。

https://github.com/tombatossals/angular-leaflet-directive

如果任何人有這個問題。

有一個名爲「leafletData」的數據對象,您可以將其傳入「Controller」並用於直接在頁面上訪問地圖對象。 下面是一些示例代碼:

$scope.moveTo = function(obj){ 
     leafletData.getMap('myMap').then(function(map) { 
     map.panTo({lat: obj.lat, lng: obj.lng}); 
     }); 
} 
+0

通知地圖對象在一個承諾的形式返回(從[該文檔(https://github.com/angular-ui/ui-leaflet))。 – user2314737

+0

是的,我注意到了,但我會誠實地說,我不確定它有什麼好處,或者我可以如何使用它。 – Showcaselfloyd