ng-agm-core-lib
Version:
Angular components for Google Maps
128 lines • 12 kB
JavaScript
import { Directive, Input } from '@angular/core';
import * as i0 from "@angular/core";
/**
* AgmPolylineIcon enables to add polyline sequences to add arrows, circle,
* or custom icons either along the entire line, or in a specific part of it.
* See https://developers.google.com/maps/documentation/javascript/shapes#polyline_customize
*
* ### Example
* ```html
* <agm-map [latitude]="lat" [longitude]="lng" [zoom]="zoom">
* <agm-polyline>
* <agm-icon-sequence [fixedRotation]="true" [path]="'FORWARD_OPEN_ARROW'">
* </agm-icon-sequence>
* </agm-polyline>
* </agm-map>
* ```
*/
export class AgmPolylineIcon {
/**
* If `true`, each icon in the sequence has the same fixed rotation regardless of the
* angle of the edge on which it lies. Defaults to `false`, in which case each icon
* in the sequence is rotated to align with its edge.
*/
fixedRotation;
/**
* The distance from the start of the line at which an icon is to be rendered. This
* distance may be expressed as a percentage of line's length (e.g. '50%') or in pixels
* (e.g. '50px'). Defaults to '100%'.
*/
offset;
/**
* The distance between consecutive icons on the line. This distance may be expressed as
* a percentage of the line's length (e.g. '50%') or in pixels (e.g. '50px'). To disable
* repeating of the icon, specify '0'. Defaults to '0'.
*/
repeat;
/**
* The x coordinate of the position of the symbol relative to the polyline. The coordinate
* of the symbol's path is translated _left_ by the anchor's x coordinate. By default, a
* symbol is anchored at (0, 0). The position is expressed in the same coordinate system as the
* symbol's path.
*/
anchorX;
/**
* The y coordinate of the position of the symbol relative to the polyline. The coordinate
* of the symbol's path is translated _up_ by the anchor's y coordinate. By default, a
* symbol is anchored at (0, 0). The position is expressed in the same coordinate system as the
* symbol's path.
*/
anchorY;
/**
* The symbol's fill color. All CSS3 colors are supported except for extended named
* colors. Defaults to the stroke color of the corresponding polyline.
*/
fillColor;
/**
* The symbol's fill opacity. Defaults to 0.
*/
fillOpacity;
/**
* The symbol's path, which is a built-in symbol path, or a custom path expressed using
* SVG path notation. Required.
*/
path;
/**
* The angle by which to rotate the symbol, expressed clockwise in degrees.
* Defaults to 0. A symbol where `fixedRotation` is `false` is rotated relative to
* the angle of the edge on which it lies.
*/
rotation;
/**
* The amount by which the symbol is scaled in size. Defaults to the stroke weight
* of the polyline; after scaling, the symbol must lie inside a square 22 pixels in
* size centered at the symbol's anchor.
*/
scale;
/**
* The symbol's stroke color. All CSS3 colors are supported except for extended named
* colors. Defaults to the stroke color of the polyline.
*/
strokeColor;
/**
* The symbol's stroke opacity. Defaults to the stroke opacity of the polyline.
*/
strokeOpacity;
/**
* The symbol's stroke weight. Defaults to the scale of the symbol.
*/
strokeWeight;
ngOnInit() {
if (this.path == null) {
throw new Error('Icon Sequence path is required');
}
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AgmPolylineIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: AgmPolylineIcon, selector: "agm-polyline agm-icon-sequence", inputs: { fixedRotation: "fixedRotation", offset: "offset", repeat: "repeat", anchorX: "anchorX", anchorY: "anchorY", fillColor: "fillColor", fillOpacity: "fillOpacity", path: "path", rotation: "rotation", scale: "scale", strokeColor: "strokeColor", strokeOpacity: "strokeOpacity", strokeWeight: "strokeWeight" }, ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AgmPolylineIcon, decorators: [{
type: Directive,
args: [{ selector: 'agm-polyline agm-icon-sequence' }]
}], propDecorators: { fixedRotation: [{
type: Input
}], offset: [{
type: Input
}], repeat: [{
type: Input
}], anchorX: [{
type: Input
}], anchorY: [{
type: Input
}], fillColor: [{
type: Input
}], fillOpacity: [{
type: Input
}], path: [{
type: Input
}], rotation: [{
type: Input
}], scale: [{
type: Input
}], strokeColor: [{
type: Input
}], strokeOpacity: [{
type: Input
}], strokeWeight: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWxpbmUtaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9kaXJlY3RpdmVzL3BvbHlsaW5lLWljb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBRXpEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUFFMUI7Ozs7T0FJRztJQUNNLGFBQWEsQ0FBVTtJQUVoQzs7OztPQUlHO0lBQ00sTUFBTSxDQUFTO0lBRXhCOzs7O09BSUc7SUFDTSxNQUFNLENBQVM7SUFFeEI7Ozs7O09BS0c7SUFDTSxPQUFPLENBQVM7SUFFekI7Ozs7O09BS0c7SUFDTSxPQUFPLENBQVM7SUFFekI7OztPQUdHO0lBQ00sU0FBUyxDQUFTO0lBRTNCOztPQUVHO0lBQ00sV0FBVyxDQUFTO0lBRTdCOzs7T0FHRztJQUNNLElBQUksQ0FBK0M7SUFFNUQ7Ozs7T0FJRztJQUNNLFFBQVEsQ0FBUztJQUUxQjs7OztPQUlHO0lBQ00sS0FBSyxDQUFTO0lBRXZCOzs7T0FHRztJQUNNLFdBQVcsQ0FBUztJQUU3Qjs7T0FFRztJQUNNLGFBQWEsQ0FBUztJQUUvQjs7T0FFRztJQUNNLFlBQVksQ0FBUztJQUU5QixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQzt3R0ExRlUsZUFBZTs0RkFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixTQUFTO21CQUFDLEVBQUMsUUFBUSxFQUFFLGdDQUFnQyxFQUFDOzhCQVE1QyxhQUFhO3NCQUFyQixLQUFLO2dCQU9HLE1BQU07c0JBQWQsS0FBSztnQkFPRyxNQUFNO3NCQUFkLEtBQUs7Z0JBUUcsT0FBTztzQkFBZixLQUFLO2dCQVFHLE9BQU87c0JBQWYsS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTUcsSUFBSTtzQkFBWixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU1HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csYUFBYTtzQkFBckIsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQWdtUG9seWxpbmVJY29uIGVuYWJsZXMgdG8gYWRkIHBvbHlsaW5lIHNlcXVlbmNlcyB0byBhZGQgYXJyb3dzLCBjaXJjbGUsXG4gKiBvciBjdXN0b20gaWNvbnMgZWl0aGVyIGFsb25nIHRoZSBlbnRpcmUgbGluZSwgb3IgaW4gYSBzcGVjaWZpYyBwYXJ0IG9mIGl0LlxuICogU2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L3NoYXBlcyNwb2x5bGluZV9jdXN0b21pemVcbiAqXG4gKiAjIyMgRXhhbXBsZVxuICogYGBgaHRtbFxuICogICAgPGFnbS1tYXAgW2xhdGl0dWRlXT1cImxhdFwiIFtsb25naXR1ZGVdPVwibG5nXCIgW3pvb21dPVwiem9vbVwiPlxuICogICAgICA8YWdtLXBvbHlsaW5lPlxuICogICAgICAgICAgPGFnbS1pY29uLXNlcXVlbmNlIFtmaXhlZFJvdGF0aW9uXT1cInRydWVcIiBbcGF0aF09XCInRk9SV0FSRF9PUEVOX0FSUk9XJ1wiPlxuICogICAgICAgICAgPC9hZ20taWNvbi1zZXF1ZW5jZT5cbiAqICAgICAgPC9hZ20tcG9seWxpbmU+XG4gKiAgICA8L2FnbS1tYXA+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdhZ20tcG9seWxpbmUgYWdtLWljb24tc2VxdWVuY2UnfSlcbmV4cG9ydCBjbGFzcyBBZ21Qb2x5bGluZUljb24gaW1wbGVtZW50cyBPbkluaXR7XG5cbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgZWFjaCBpY29uIGluIHRoZSBzZXF1ZW5jZSBoYXMgdGhlIHNhbWUgZml4ZWQgcm90YXRpb24gcmVnYXJkbGVzcyBvZiB0aGVcbiAgICogYW5nbGUgb2YgdGhlIGVkZ2Ugb24gd2hpY2ggaXQgbGllcy4gRGVmYXVsdHMgdG8gYGZhbHNlYCwgaW4gd2hpY2ggY2FzZSBlYWNoIGljb25cbiAgICogaW4gdGhlIHNlcXVlbmNlIGlzIHJvdGF0ZWQgdG8gYWxpZ24gd2l0aCBpdHMgZWRnZS5cbiAgICovXG4gIEBJbnB1dCgpIGZpeGVkUm90YXRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBkaXN0YW5jZSBmcm9tIHRoZSBzdGFydCBvZiB0aGUgbGluZSBhdCB3aGljaCBhbiBpY29uIGlzIHRvIGJlIHJlbmRlcmVkLiBUaGlzXG4gICAqIGRpc3RhbmNlIG1heSBiZSBleHByZXNzZWQgYXMgYSBwZXJjZW50YWdlIG9mIGxpbmUncyBsZW5ndGggKGUuZy4gJzUwJScpIG9yIGluIHBpeGVsc1xuICAgKiAoZS5nLiAnNTBweCcpLiBEZWZhdWx0cyB0byAnMTAwJScuXG4gICAqL1xuICBASW5wdXQoKSBvZmZzZXQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRpc3RhbmNlIGJldHdlZW4gY29uc2VjdXRpdmUgaWNvbnMgb24gdGhlIGxpbmUuIFRoaXMgZGlzdGFuY2UgbWF5IGJlIGV4cHJlc3NlZCBhc1xuICAgKiBhIHBlcmNlbnRhZ2Ugb2YgdGhlIGxpbmUncyBsZW5ndGggKGUuZy4gJzUwJScpIG9yIGluIHBpeGVscyAoZS5nLiAnNTBweCcpLiBUbyBkaXNhYmxlXG4gICAqIHJlcGVhdGluZyBvZiB0aGUgaWNvbiwgc3BlY2lmeSAnMCcuIERlZmF1bHRzIHRvICcwJy5cbiAgICovXG4gIEBJbnB1dCgpIHJlcGVhdDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgeCBjb29yZGluYXRlIG9mIHRoZSBwb3NpdGlvbiBvZiB0aGUgc3ltYm9sIHJlbGF0aXZlIHRvIHRoZSBwb2x5bGluZS4gVGhlIGNvb3JkaW5hdGVcbiAgICogb2YgdGhlIHN5bWJvbCdzIHBhdGggaXMgdHJhbnNsYXRlZCBfbGVmdF8gYnkgdGhlIGFuY2hvcidzIHggY29vcmRpbmF0ZS4gQnkgZGVmYXVsdCwgYVxuICAgKiBzeW1ib2wgaXMgYW5jaG9yZWQgYXQgKDAsIDApLiBUaGUgcG9zaXRpb24gaXMgZXhwcmVzc2VkIGluIHRoZSBzYW1lIGNvb3JkaW5hdGUgc3lzdGVtIGFzIHRoZVxuICAgKiBzeW1ib2wncyBwYXRoLlxuICAgKi9cbiAgQElucHV0KCkgYW5jaG9yWDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgeSBjb29yZGluYXRlIG9mIHRoZSBwb3NpdGlvbiBvZiB0aGUgc3ltYm9sIHJlbGF0aXZlIHRvIHRoZSBwb2x5bGluZS4gVGhlIGNvb3JkaW5hdGVcbiAgICogb2YgdGhlIHN5bWJvbCdzIHBhdGggaXMgdHJhbnNsYXRlZCBfdXBfIGJ5IHRoZSBhbmNob3IncyB5IGNvb3JkaW5hdGUuIEJ5IGRlZmF1bHQsIGFcbiAgICogc3ltYm9sIGlzIGFuY2hvcmVkIGF0ICgwLCAwKS4gVGhlIHBvc2l0aW9uIGlzIGV4cHJlc3NlZCBpbiB0aGUgc2FtZSBjb29yZGluYXRlIHN5c3RlbSBhcyB0aGVcbiAgICogc3ltYm9sJ3MgcGF0aC5cbiAgICovXG4gIEBJbnB1dCgpIGFuY2hvclk6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHN5bWJvbCdzIGZpbGwgY29sb3IuIEFsbCBDU1MzIGNvbG9ycyBhcmUgc3VwcG9ydGVkIGV4Y2VwdCBmb3IgZXh0ZW5kZWQgbmFtZWRcbiAgICogY29sb3JzLiBEZWZhdWx0cyB0byB0aGUgc3Ryb2tlIGNvbG9yIG9mIHRoZSBjb3JyZXNwb25kaW5nIHBvbHlsaW5lLlxuICAgKi9cbiAgQElucHV0KCkgZmlsbENvbG9yOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzeW1ib2wncyBmaWxsIG9wYWNpdHkuIERlZmF1bHRzIHRvIDAuXG4gICAqL1xuICBASW5wdXQoKSBmaWxsT3BhY2l0eTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgc3ltYm9sJ3MgcGF0aCwgd2hpY2ggaXMgYSBidWlsdC1pbiBzeW1ib2wgcGF0aCwgb3IgYSBjdXN0b20gcGF0aCBleHByZXNzZWQgdXNpbmdcbiAgICogU1ZHIHBhdGggbm90YXRpb24uIFJlcXVpcmVkLlxuICAgKi9cbiAgQElucHV0KCkgcGF0aDoga2V5b2YgdHlwZW9mIGdvb2dsZS5tYXBzLlN5bWJvbFBhdGggfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhbmdsZSBieSB3aGljaCB0byByb3RhdGUgdGhlIHN5bWJvbCwgZXhwcmVzc2VkIGNsb2Nrd2lzZSBpbiBkZWdyZWVzLlxuICAgKiBEZWZhdWx0cyB0byAwLiBBIHN5bWJvbCB3aGVyZSBgZml4ZWRSb3RhdGlvbmAgaXMgYGZhbHNlYCBpcyByb3RhdGVkIHJlbGF0aXZlIHRvXG4gICAqIHRoZSBhbmdsZSBvZiB0aGUgZWRnZSBvbiB3aGljaCBpdCBsaWVzLlxuICAgKi9cbiAgQElucHV0KCkgcm90YXRpb246IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGFtb3VudCBieSB3aGljaCB0aGUgc3ltYm9sIGlzIHNjYWxlZCBpbiBzaXplLiBEZWZhdWx0cyB0byB0aGUgc3Ryb2tlIHdlaWdodFxuICAgKiBvZiB0aGUgcG9seWxpbmU7IGFmdGVyIHNjYWxpbmcsIHRoZSBzeW1ib2wgbXVzdCBsaWUgaW5zaWRlIGEgc3F1YXJlIDIyIHBpeGVscyBpblxuICAgKiBzaXplIGNlbnRlcmVkIGF0IHRoZSBzeW1ib2wncyBhbmNob3IuXG4gICAqL1xuICBASW5wdXQoKSBzY2FsZTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgc3ltYm9sJ3Mgc3Ryb2tlIGNvbG9yLiBBbGwgQ1NTMyBjb2xvcnMgYXJlIHN1cHBvcnRlZCBleGNlcHQgZm9yIGV4dGVuZGVkIG5hbWVkXG4gICAqIGNvbG9ycy4gRGVmYXVsdHMgdG8gdGhlIHN0cm9rZSBjb2xvciBvZiB0aGUgcG9seWxpbmUuXG4gICAqL1xuICBASW5wdXQoKSBzdHJva2VDb2xvcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3ltYm9sJ3Mgc3Ryb2tlIG9wYWNpdHkuIERlZmF1bHRzIHRvIHRoZSBzdHJva2Ugb3BhY2l0eSBvZiB0aGUgcG9seWxpbmUuXG4gICAqL1xuICBASW5wdXQoKSBzdHJva2VPcGFjaXR5OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBzeW1ib2wncyBzdHJva2Ugd2VpZ2h0LiBEZWZhdWx0cyB0byB0aGUgc2NhbGUgb2YgdGhlIHN5bWJvbC5cbiAgICovXG4gIEBJbnB1dCgpIHN0cm9rZVdlaWdodDogbnVtYmVyO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBhdGggPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJY29uIFNlcXVlbmNlIHBhdGggaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==