所以我已经用搜索过滤器和分页创建了表格。 现在我想让它与地图互动。 问题是我试图以错误的方式访问geojson,所以也许有人可以提供帮助。
我的geojson:
{
"type": "FeatureCollection",
"crs": {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
},
"features": [{
"type": "Feature",
"properties": {
"name": "Berlin",
"country": "Germany"
},
"geometry": {
"type": "Point",
"coordinates": [28.410585, -11.293361]
}
}, .......
]
}
检索它的服务:
var AppMapDirectory = angular.module('DirectoryAppMap', ['ngResource']);
AppMapDirectory.factory("Directory", function($resource) {
return $resource("/result.json", {}, {
get: {
method: "GET",
cache: true
}
});
});
将其置于范围内的控制器:
AppMapDirectory.controller("DirectoryMapList", function($scope, Directory, $filter) {
Directory.query(function(data) {
$scope.list = data.features;
});
观点:
<tr ng-repeat="hf in list">
<td>{{ hf.properties.name }}</td>
<td>{{ hf.properties.category }}</td>
</tr>
或
<tr ng-repeat="feature in list">
<td>{{ feature.properties.name }}</td>
<td>{{ feature.properties.category }}</td>
</tr>
我在stackoverflow上看到有人在输入这样的内容:
$scope.list = data.features[];
但在我的情况下,json根本没有加载
Mayby sb会说我应该使用json而不是geojson,但我的主要观点是使地图和表格互动,以便在搜索工作时两者都会改变。
或者可以使用来自同一来源的json数据和geojson吗?
我计划使用带角度的传单指令,似乎很容易使用geojson作为地图,但如何使用geojson表?有可能吗?
答案 0 :(得分:1)
是的,geojson只是json的另一个案例,它会正常工作。
leaflet directive之类的指令为您完成所有艰苦的工作,并允许您在地图上轻松显示geojson。
有关示例,请参阅https://github.com/tombatossals/angular-leaflet-directive/blob/master/examples/geojson-example.html。你甚至不需要ng-repeat。
我在目录服务中看到一些奇怪的东西。您在服务中定义get
方法,但在控制器中调用query
方法。默认情况下,query
方法需要返回一个数组,并在遇到作为对象的geojson数据时抛出异常。
当我替换
Directory.query(function(data)
与
Directory.get(function(data)
表格填写正确。