【发布时间】:2016-04-19 12:08:19
【问题描述】:
我正在尝试使用 AngularJS 传单指令从 geojson 文件加载和聚类标记。但是,我收到 TypeError:points.map 不是 addressPointstoMarkers 处的函数。以下是我的代码:
<html ng-app="myapp">
<head>
<meta name="viewport" content="width-device, initial-scale=1.0">
<script src="js/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0-rc.0/angular-route.js"></script>
<script type="text/javascript" src="js/leaflet.js"></script>
<script type="text/javascript" src="js/angular-leaflet-directive.min.js"></script>
<script src="js/leaflet.markercluster.js"></script>
<link rel="stylesheet" href="css/leaflet.css" />
<link rel="stylesheet" href="css/MarkerCluster.css" />
<link rel="stylesheet" href="css/MarkerCluster.Default.css" />
<script>
var app = angular.module("myapp", ["leaflet-directive"]);
app.controller("AlabamaController", [ "$scope", '$http', function($scope, $http) {
var addressPointstoMarkers = function(points){
return points.map(function(ap) {
return {
layer: 'Alabama',
lat: ap[0],
lng: ap[1]
};
});
};
angular.extend($scope, {
center: {
lat: 30.126597156,
lng: -90.5958157696,
zoom: 5
},
events: {
map: {
enable: ['moveend', 'popupopen'],
logic: 'emit'
}
},
layers: {
baselayers: {
osm: {
name: 'OpenStreetMap',
url: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
type: 'xyz'
}
},
overlays:{
alabama: {
name: "Alabama",
type: "markercluster",
visible: true
}
}
}
});
$http.get("data/alabama.geojson").success(function(data){
$scope.markers = addressPointstoMarkers(data);
});
}]);
</script>
<title>Alabama</title>
</head>
<body>
<div ng-controller="AlabamaController">
<leaflet lf-center="center" markers="markers" layers="layers" event-broadcast="events" width="100%" height="750px"></leaflet>
</div
</body>
</html>
这是geojson文件中数据的sn-p:
[{"type":"Feature","properties":{"Name":"Drummond Co Inc","Address":"1000 Urban Centre Dr Ste 300","城市":"伯明翰","州":"AL","电话":"(205) 945-6300","县":"杰斐逊","纬度":"33.48360731","经度":"-86.70488291","业务描述":"煤炭 & 其他矿物 & 矿石 - Wholesale","SIC":"5052001","SICDescription":"Coal & Other Minerals & 矿石 - 批发","NAICS":"423520","NAICSDescription":"煤炭和其他 矿物和矿石商人 Wholesalers","Website":"www.drummondco.com"},"geometry":{"type":"Point","coordinates":[-86.70488291,33.48360731]}},
【问题讨论】:
-
请包含您从
data/alabama.geojsonURL 获取的数据。 -
@SinaGh 我在geojson文件中添加了数据的sn-p,因为文件很大。
标签: javascript angularjs leaflet angular-leaflet-directive