angular-open-street
Version:
open street map angular helper
53 lines • 5.65 kB
JavaScript
import { Component, Input } from '@angular/core';
import Map from 'ol/Map';
import View from 'ol/View';
import OSM from 'ol/source/OSM';
import * as olProj from 'ol/proj';
import TileLayer from 'ol/layer/Tile';
export class AngularOpenStreetComponent {
constructor() {
this.height = '400px';
this.width = '400px';
this.defaultOptions = {
latitude: 0,
longitude: 0,
zoom: 1
};
this.latitude = 0;
this.longitude = 0;
}
ngOnInit() {
navigator.geolocation.getCurrentPosition((data) => {
this.latitude = data.coords.latitude;
this.longitude = data.coords.longitude;
}, () => {
console.log('error');
});
this.map = new Map({
target: 'map',
layers: [
new TileLayer({
source: new OSM()
})
],
view: new View({
center: olProj.fromLonLat([this.defaultOptions.longitude, this.defaultOptions.latitude]),
zoom: this.defaultOptions.zoom
})
});
}
}
AngularOpenStreetComponent.decorators = [
{ type: Component, args: [{
selector: 'open-street-static',
template: "<div id=\"map\" [style]=\"{'height': height, 'width': width}\"></div>\r\n",
styles: ["#map{height:100vh;width:100%}"]
},] }
];
AngularOpenStreetComponent.ctorParameters = () => [];
AngularOpenStreetComponent.propDecorators = {
height: [{ type: Input }],
width: [{ type: Input }],
defaultOptions: [{ type: Input }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1vcGVuLXN0cmVldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9wZW4tc3RyZWV0L3NyYy9saWIvY29tcG9uZW50cy9hbmd1bGFyLW9wZW4tc3RyZWV0L2FuZ3VsYXItb3Blbi1zdHJlZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQztBQUN6QixPQUFPLElBQUksTUFBTSxTQUFTLENBQUM7QUFJM0IsT0FBTyxHQUFHLE1BQU0sZUFBZSxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sU0FBUyxNQUFNLGVBQWUsQ0FBQztBQVN0QyxNQUFNLE9BQU8sMEJBQTBCO0lBYXJDO1FBWlMsV0FBTSxHQUFHLE9BQU8sQ0FBQztRQUNqQixVQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ2hCLG1CQUFjLEdBQUc7WUFDeEIsUUFBUSxFQUFFLENBQUM7WUFDWCxTQUFTLEVBQUUsQ0FBQztZQUNaLElBQUksRUFBRSxDQUFDO1NBQ1IsQ0FBQztRQUlGLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixjQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ0UsQ0FBQztJQUVqQixRQUFRO1FBQ04sU0FBUyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FDdEMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUN6QyxDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDakIsTUFBTSxFQUFFLEtBQUs7WUFDYixNQUFNLEVBQUU7Z0JBQ04sSUFBSSxTQUFTLENBQUM7b0JBQ1osTUFBTSxFQUFFLElBQUksR0FBRyxFQUFFO2lCQUNsQixDQUFDO2FBQ0g7WUFDRCxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUM7Z0JBQ2IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN4RixJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJO2FBQy9CLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE1Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLHFGQUFtRDs7YUFJcEQ7Ozs7cUJBRUUsS0FBSztvQkFDTCxLQUFLOzZCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IE1hcCBmcm9tICdvbC9NYXAnO1xyXG5pbXBvcnQgVmlldyBmcm9tICdvbC9WaWV3JztcclxuaW1wb3J0IFZlY3RvckxheWVyIGZyb20gJ29sL2xheWVyL1ZlY3Rvcic7XHJcbmltcG9ydCBTdHlsZSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XHJcbmltcG9ydCBJY29uIGZyb20gJ29sL3N0eWxlL0ljb24nO1xyXG5pbXBvcnQgT1NNIGZyb20gJ29sL3NvdXJjZS9PU00nO1xyXG5pbXBvcnQgKiBhcyBvbFByb2ogZnJvbSAnb2wvcHJvaic7XHJcbmltcG9ydCBUaWxlTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvVGlsZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ29wZW4tc3RyZWV0LXN0YXRpYycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FuZ3VsYXItb3Blbi1zdHJlZXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4vYW5ndWxhci1vcGVuLXN0cmVldC5jb21wb25lbnQuc2NzcydcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbmd1bGFyT3BlblN0cmVldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgaGVpZ2h0ID0gJzQwMHB4JztcclxuICBASW5wdXQoKSB3aWR0aCA9ICc0MDBweCc7XHJcbiAgQElucHV0KCkgZGVmYXVsdE9wdGlvbnMgPSB7XHJcbiAgICBsYXRpdHVkZTogMCxcclxuICAgIGxvbmdpdHVkZTogMCxcclxuICAgIHpvb206IDFcclxuICB9O1xyXG5cclxuXHJcbiAgbWFwOiBhbnk7XHJcbiAgbGF0aXR1ZGUgPSAwO1xyXG4gIGxvbmdpdHVkZSA9IDA7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKFxyXG4gICAgICAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMubGF0aXR1ZGUgPSBkYXRhLmNvb3Jkcy5sYXRpdHVkZTtcclxuICAgICAgICB0aGlzLmxvbmdpdHVkZSA9IGRhdGEuY29vcmRzLmxvbmdpdHVkZTtcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdlcnJvcicpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgdGhpcy5tYXAgPSBuZXcgTWFwKHtcclxuICAgICAgdGFyZ2V0OiAnbWFwJyxcclxuICAgICAgbGF5ZXJzOiBbXHJcbiAgICAgICAgbmV3IFRpbGVMYXllcih7XHJcbiAgICAgICAgICBzb3VyY2U6IG5ldyBPU00oKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIF0sXHJcbiAgICAgIHZpZXc6IG5ldyBWaWV3KHtcclxuICAgICAgICBjZW50ZXI6IG9sUHJvai5mcm9tTG9uTGF0KFt0aGlzLmRlZmF1bHRPcHRpb25zLmxvbmdpdHVkZSwgdGhpcy5kZWZhdWx0T3B0aW9ucy5sYXRpdHVkZV0pLFxyXG4gICAgICAgIHpvb206IHRoaXMuZGVmYXVsdE9wdGlvbnMuem9vbVxyXG4gICAgICB9KVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=