Commit 7013377d8c4138d019936aba57b6fab0ef8ebfa9
Committed by
GitHub
1 parent
11db772e
[3.0] Improvement map (#2706)
* Fix load custom marker image for Firefox * Fix update polygon color
Showing
2 changed files
with
27 additions
and
10 deletions
... | ... | @@ -15,8 +15,8 @@ |
15 | 15 | /// |
16 | 16 | |
17 | 17 | import _ from 'lodash'; |
18 | -import { Observable, Subject, fromEvent, of } from 'rxjs'; | |
19 | -import { finalize, share, map } from 'rxjs/operators'; | |
18 | +import { Observable, Observer, of, Subject } from 'rxjs'; | |
19 | +import { finalize, map, share } from 'rxjs/operators'; | |
20 | 20 | import base64js from 'base64-js'; |
21 | 21 | import { Datasource } from '@app/shared/models/widget.models'; |
22 | 22 | |
... | ... | @@ -224,11 +224,14 @@ function scrollParents(node: Node): Node[] { |
224 | 224 | |
225 | 225 | function hashCode(str) { |
226 | 226 | let hash = 0; |
227 | - let i, char; | |
227 | + let i; | |
228 | + let char; | |
228 | 229 | if (str.length === 0) return hash; |
229 | 230 | for (i = 0; i < str.length; i++) { |
230 | 231 | char = str.charCodeAt(i); |
232 | + // tslint:disable-next-line:no-bitwise | |
231 | 233 | hash = ((hash << 5) - hash) + char; |
234 | + // tslint:disable-next-line:no-bitwise | |
232 | 235 | hash = hash & hash; // Convert to 32bit integer |
233 | 236 | } |
234 | 237 | return hash; |
... | ... | @@ -430,10 +433,24 @@ export function getDescendantProp(obj: any, path: string): any { |
430 | 433 | } |
431 | 434 | |
432 | 435 | export function imageLoader(imageUrl: string): Observable<HTMLImageElement> { |
433 | - const image = new Image(); | |
434 | - const imageLoad$ = fromEvent(image, 'load').pipe(map(() => image)); | |
435 | - image.src = imageUrl; | |
436 | - return imageLoad$; | |
436 | + return new Observable((observer: Observer<HTMLImageElement>) => { | |
437 | + const image = new Image(); | |
438 | + image.style.position = 'absolute'; | |
439 | + image.style.left = '-99999px'; | |
440 | + image.style.top = '-99999px'; | |
441 | + image.onload = () => { | |
442 | + observer.next(image); | |
443 | + document.body.removeChild(image); | |
444 | + observer.complete(); | |
445 | + }; | |
446 | + image.onerror = err => { | |
447 | + observer.error(err); | |
448 | + document.body.removeChild(image); | |
449 | + observer.complete(); | |
450 | + }; | |
451 | + document.body.appendChild(image) | |
452 | + image.src = imageUrl; | |
453 | + }); | |
437 | 454 | } |
438 | 455 | |
439 | 456 | export function createLabelFromDatasource(datasource: Datasource, pattern: string) { | ... | ... |
... | ... | @@ -69,8 +69,8 @@ export class Polygon { |
69 | 69 | updatePolygonColor(settings) { |
70 | 70 | const style: L.PathOptions = { |
71 | 71 | fill: true, |
72 | - fillColor: settings.color, | |
73 | - color: settings.color, | |
72 | + fillColor: settings.polygonColor, | |
73 | + color: settings.polygonStrokeColor, | |
74 | 74 | weight: settings.polygonStrokeWeight, |
75 | 75 | fillOpacity: settings.polygonOpacity, |
76 | 76 | opacity: settings.polygonStrokeOpacity |
... | ... | @@ -86,4 +86,4 @@ export class Polygon { |
86 | 86 | this.leafletPoly.setLatLngs(latLngs); |
87 | 87 | this.leafletPoly.redraw(); |
88 | 88 | } |
89 | -} | |
\ No newline at end of file | ||
89 | +} | ... | ... |