Skip to content

Commit

Permalink
heading icon
Browse files Browse the repository at this point in the history
  • Loading branch information
bassmaster187 committed Feb 16, 2024
1 parent 0e9cc8c commit ba33829
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 1 deletion.
11 changes: 10 additions & 1 deletion TeslaLogger/www/admin/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
<link rel='stylesheet' id='genericons-css' href='static/genericons.css?ver=3.0.3' type='text/css' media='all' />
<!-- Make sure you put this AFTER Leaflet's CSS -->
<script src="static/leaflet/1.4.0/leaflet.js"></script>
<script src="static/leaflet/1.4.0/leaflet.rotatedMarker.js"></script>
<style>
#changelog{height:350px; overflow: auto;}
</style>
Expand Down Expand Up @@ -337,7 +338,15 @@ function GetCurrentData()
if (marker != null)
map.removeLayer(marker)

marker = L.marker(p);
var icon = new L.Icon(
{
iconUrl: "static/images/arrow.png",
iconAnchor: [10, 10],
shadowSize: [0,0]
}
);

marker = L.marker(p, {icon : icon, rotationAngle: jsonData["heading"] });
marker.addTo(map);
});
}
Expand Down
Binary file added TeslaLogger/www/admin/static/images/arrow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
(function() {
// save these original methods before they are overwritten
var proto_initIcon = L.Marker.prototype._initIcon;
var proto_setPos = L.Marker.prototype._setPos;

var oldIE = (L.DomUtil.TRANSFORM === 'msTransform');

L.Marker.addInitHook(function () {
var iconOptions = this.options.icon && this.options.icon.options;
var iconAnchor = iconOptions && this.options.icon.options.iconAnchor;
if (iconAnchor) {
iconAnchor = (iconAnchor[0] + 'px ' + iconAnchor[1] + 'px');
}
this.options.rotationOrigin = this.options.rotationOrigin || iconAnchor || 'center bottom' ;
this.options.rotationAngle = this.options.rotationAngle || 0;

// Ensure marker keeps rotated during dragging
this.on('drag', function(e) { e.target._applyRotation(); });
});

L.Marker.include({
_initIcon: function() {
proto_initIcon.call(this);
},

_setPos: function (pos) {
proto_setPos.call(this, pos);
this._applyRotation();
},

_applyRotation: function () {
if(this.options.rotationAngle) {
this._icon.style[L.DomUtil.TRANSFORM+'Origin'] = this.options.rotationOrigin;

if(oldIE) {
// for IE 9, use the 2D rotation
this._icon.style[L.DomUtil.TRANSFORM] = 'rotate(' + this.options.rotationAngle + 'deg)';
} else {
// for modern browsers, prefer the 3D accelerated version
this._icon.style[L.DomUtil.TRANSFORM] += ' rotateZ(' + this.options.rotationAngle + 'deg)';
}
}
},

setRotationAngle: function(angle) {
this.options.rotationAngle = angle;
this.update();
return this;
},

setRotationOrigin: function(origin) {
this.options.rotationOrigin = origin;
this.update();
return this;
}
});
})();

0 comments on commit ba33829

Please sign in to comment.