Здравствуйте!
Пробую вывести маркеры на карту как показано в документации
tombatossals.github.io/angular-openlayers-directiv...
А вот как у меня.
API Service:
'use strict';
angular.module('myMap')
.factory('SettlementsResource', function($resource){
return $resource("http://localhost:8000/settlements/", {});
});
map.js
'use strict';
angular.module('myMap')
.controller('IndexMapCtrl', [ '$scope', '$http', 'SettlementsResource', function($scope, $http, SettlementsResource){
var markers = SettlementsResource.query();
angular.extend($scope, {
center: {
lat: 51.505,
lon: -0.09,
zoom: 7
},
markers: markers
});
}]);
view.html
<openlayers ol-center="center" ol-markers="markers" height="400px" width="100%">
<ol-marker ng-repeat="marker in markers" lat="marker.lat" lon="marker.lon"></ol-marker>
</openlayers>
получаю ответ в json в таком виде:
[
{
name: 'London',
lat: 51.505,
lon: -0.09
},
{
name: 'Bath',
lat: 51.375,
lon: -2.35
},
{
name: 'Canterbury',
lat: 51.267,
lon: 1.083
}
]
В итоге карта выводится, но объектов на карте нет.
console.log(markers); выводит:
[$promise: d, $resolved: false]
0: d
$$hashKey: "object:18"
created_at: "-0001-11-30 00:00:00"
description: "город Мой"
handleInteraction: (evt)handleTapInteraction: ()
id: "1"
lat: "51.267"
layer: ""
lon: "1.083"
name: "Мой город"
removeAllOverlays: (evt)
showAtLeastOneOverlay: (evt)
updated_at: "-0001-11-30 00:00:00"
__proto__: d
1: d
2: d
3: d
4: d
5: d
6: d
7: d
8: d
$promise: d
$resolved: true
length: 9
__proto__: Array[0]
если выводить так:
<ul>
<li ng-repeat="marker in markers">{{marker.lat}}, {{marker.lon}}</li>
</ul>
То все выводит.
Что я делаю не так?