我们如何在PNG image
库中将{Place}图标替换为AR.js
?我已经阅读了这篇文章,我认为我们可以使用PNG image
来显示为位置图标,但是不能使用位置名称来显示。
根据这篇文章,这就是我们如何显示地点名称并使用其默认图标。
// add place name
const text = document.createElement('a-link');
text.setAttribute('gps-entity-place', `latitude: ${latitude}; longitude: ${longitude};`);
text.setAttribute('title', place.name);
text.setAttribute('href', 'http://www.example.com/');
text.setAttribute('scale', '13 13 13');
text.addEventListener('loaded', () => {
window.dispatchEvent(new CustomEvent('gps-entity-place-loaded'))
});
这是我们使用自定义图像的方式。
const icon = document.createElement('a-image');
icon.setAttribute('gps-entity-place', `latitude: ${latitude}; longitude: ${longitude};`);
icon.setAttribute('name', place.name);
icon.setAttribute('src', '../assets/map-marker.png');
答案 0 :(得分:0)
属性gps-entity-place是只读的。这意味着您不能使用setAttribute对其进行修改。
所以我以前的回答并未完全回答问题。深入研究AFrame文档,我发现可能会产生带有新实体的gps-projected-entity-place。但是,需要按照此处的概述进行操作:https://ar-js-org.github.io/AR.js-Docs/location-based-tutorial/#introducing-javascript-with-arjs
这意味着您应该执行以下操作:
text.setAttribute('gps-projected-entity-place', { latitude: ${latitude}, longitude: ${longitude} });