angular - Leaflet-kart: Roteret markør for ionic2 (Typescript)
Jeg er en TypeScript «nybegynner», og jobber for øyeblikket på et Ionic2-prosjekt (TypeScript) som bruker Leaflet v1.1.0 som et kart. Jeg trenger å rotere en markør. I tidligere prosjekter (JavaScript) brukte jeg Leaflet.RotatedMarker. Men dette pluginet er ikke typet og kan ikke brukes i mitt nåværende prosjekt.
Jeg trenger hjelp enten med å finne en måte å bruke Leaflet Rotated Marker-pluginen på, eller med å lage markørrotasjonsatferden direkte i koden min.
Svar #1
Siden noen måneder tilbys TypeScript-typede definisjoner for Leaflet.RotatedMarker her: https://github.com/DefinitelyTyped/DefinitelyTyped/commits/master/types/leaflet-rotatedmarker
Du må installere dem @types/leaflet-rotatedmarker i tillegg til leaflet-rotatedmarker
Hvis du bruker npm, trenger du bare å installere begge pakkene:
npm i -S @types/leaflet-rotatedmarker leaflet-rotatedmarkerDa kan du sette rotationAngle på markøren din.
import * as L from 'leaflet';
import 'leaflet-rotatedmarker';
...
let marker = L.marker([47,18], {
rotationAngle: 180
icon: ...,
});
Svar #2
Som en midlertidig løsning har jeg brukt L.divIcon, og det fungerer perfekt
L.divIcon({
html: '<img class="leaflet-marker-icon leaflet-zoom-animated" src="[icon image URL]" style="width: [icon width]px; height: [icon height]px;transform: rotate([angle]deg); -webkit-transform: rotate([angle]deg); -moz-transform:rotate([angle]deg);" />'
})
