Here is a quick code sample that demonstrates how to use our map markers with Bing Maps.
Important for animated map markers: Bing Maps renders all shapes on an HTML 5 canvas which ends up flattening images and disables any animation they might have built in. In this case its likely only rendering the first frame of your animated image which may be the reason why it can't be seen. The solution is to use an "HTML Pushpin": Read more.
var map = new Microsoft.Maps.Map(document.getElementById('myMap'), { credentials: 'Your Bing Maps Key' }); var pushpin = new Microsoft.Maps.Pushpin(map.getCenter(), { icon: 'https://mapmarker.io/api/v3/font-awesome/v6/pin?icon=fa-solid+fa-star&size=50&hoffset=0&voffset=-1', // define an anchor point at the bottom middle of pin markers to avoid visual shift during zooms // for non-pin style markers, you probably won't need this anchor: new Microsoft.Maps.Point(25, 50) }); map.entities.push(pushpin);
Here is a quick code sample that demonstrates how to use our animated map markers with Bing Maps:
var map = new Microsoft.Maps.Map(document.getElementById('map-bing-html-pushpin'), { credentials: 'Your Bing Maps Key', disableScrollWheelZoom: true }); // initalize map var loc = new Microsoft.Maps.Location(-25.34492034440821, 131.0329830613222); map.setView({ center: loc, zoom: 12 }); // fetch html pushpin layer module (source: https://samples.bingmapsportal.com/overlays/html-pushpin-layer) Microsoft.Maps.registerModule('HtmlPushpinLayerModule', 'https://samples.bingmapsportal.com//overlays/html-pushpin-layer/HtmlPushpinLayerModule.js'); Microsoft.Maps.loadModule('HtmlPushpinLayerModule', function () { // fetch marker const Http = new XMLHttpRequest(); const url='https://mapmarker.io/api/v3/font-awesome/v6/icon?size=50&icon=fa-solid%20fa-person-hiking&color=333&label=&labelAnimation=pulse&labelAnimationDuration=1s&lc=4CAF50'; Http.open("GET", url); Http.send(); // marker loaded callbakc Http.onreadystatechange = function() { // marker available if(this.readyState == 4 && this.status == 200) { var pin = new HtmlPushpin(loc, Http.responseText, {anchor: new Microsoft.Maps.Point(25, 50)}); layer = new HtmlPushpinLayer([pin]); map.layers.insert(layer); } } });