mohsen-angular-leaflet-directive
Version:
angular-leaflet-directive - An AngularJS directive to easily interact with Leaflet maps
114 lines (101 loc) • 4.44 kB
HTML
<html ng-app="demoapp">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="../bower_components/semantic-ui/dist/semantic.min.css">
<link rel="stylesheet" href="../bower_components/leaflet/dist/leaflet.css" />
<link rel="stylesheet" href="../bower_components/Leaflet.awesome-markers/dist/leaflet.awesome-markers.css">
<link rel="stylesheet" href="../bower_components/Leaflet.ExtraMarkers/src/leaflet.extra-markers.css">
<link rel="stylesheet" href="../bower_components/leaflet.markercluster/dist/MarkerCluster.css" />
<link rel="stylesheet" href="../bower_components/leaflet.markercluster/dist/MarkerCluster.Default.css" />
<script src="../bower_components/jquery/dist/jquery.min.js"></script>
<script src="../bower_components/angular/angular.min.js"></script>
<script src="../bower_components/semantic-ui/dist/semantic.min.js"></script>
<script src="../bower_components/leaflet/dist/leaflet.js"></script>
<script src="../dist/angular-leaflet-directive.min.js"></script>
<script src="../bower_components/Leaflet.awesome-markers/dist/leaflet.awesome-markers.js"></script>
<script src="../bower_components/Leaflet.MakiMarkers/Leaflet.MakiMarkers.js"></script>
<script src="../bower_components/leaflet.markercluster/dist/leaflet.markercluster.js"></script>
<script src="../bower_components/Leaflet.ExtraMarkers/src/leaflet.extra-markers.js"></script>
<script>
var app = angular.module("demoapp", ['leaflet-directive']);
app.controller("MarkersModalMarkerClusterController", ['$scope', 'leafletData', function($scope, leafletData) {
var markers = [];
markers.push({
lat: 52.229676,
lng: 21.012229,
draggable: false,
group: 'markers'
});
markers.push({
lat: 52.219081,
lng: 21.025386,
draggable: false,
group: 'markers'
});
angular.extend($scope, {
defaults: {
maxZoom: 18,
minZoom: 0
},
layers: {
baselayers: {
osm: {
name: 'OpenStreetMap',
type: 'xyz',
url: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
layerOptions: {
subdomains: ['a', 'b', 'c'],
attribution: '© OpenStreetMap contributors',
continuousWorld: true
}
}
}
},
center: {
zoom: 10,
lat: 52.229676,
lng: 21.012229
},
markers: {
m1: {
lat: 52.229676,
lng: 21.012229,
draggable: false,
group: 'markers'
},
m2: {
lat: 52.219081,
lng: 21.025386,
draggable: false,
group: 'markers'
}
}
});
var map;
leafletData.getMap().then(function(lfMap) {
map = lfMap;
});
$scope.showModal = function() {
$('.ui.modal').modal('show');
map.invalidateSize();
};
}]);
</script>
</head>
<body ng-controller="MarkersModalMarkerClusterController">
<h1>Markercluster in a SemanticUI modal</h1>
<button class="btn btn-lg btn-primary" ng-click="showModal()">Open the map in a modal</a>
<div class="ui modal">
<i class="close icon"></i>
<div class="header">Modal map example</div>
<div class="content">
<leaflet lf-defaults="defaults" lf-layers="layers" lf-center="center" lf-markers="markers" width="100%" height="320px"></leaflet>
</div>
<div class="actions">
<div class="ui button">Cancel</div>
<div class="ui button">OK</div>
</div>
</div>
</body>
</html>