javascript - here-api 地图上以位置为中心的 svg 图标
问题描述
有一个关于在浏览器(Chrome、Firefox)中使用 Javascript 框架在此处 Map V3 上定位图标的问题。
我创建了一个可以旋转的 svg 箭头。(绿点和矩形只是为了更好地识别问题)但我不能将新创建的图标放在地理坐标上。绿色图标点和箭头位于相同的地理坐标上。
我希望我的图标精确地居中在这个地理坐标上,因为如果你有不同的缩放级别,箭头似乎会远离地理坐标。
我使用的代码片段之一
var svgArrow = '<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg">' +
'<polyline points="15,2 25,27 15,15 5,27" stroke="#FE6940" fill="#FE6940" transform="rotate('+ PosDirection + ',15,15)"/> </svg>';
var iconSVG = new H.map.Icon(svgArrow);
addMarkerToGroup(iconGroup, {lat:Latitude, lng:Longitude},
'', {icon:iconSVG});
我尝试了一些额外的 css 东西,这些东西应该由其他用户告诉,但没有任何帮助获得正确的位置。有没有人知道如何解决这个问题。
感谢分配
解决方案
CSS 样式在这种情况下不起作用,因为标记在画布中呈现,因此它本身不在 DOM 树中。
但是,您可以通过指定构造选项来实现您所需要的H.map.Icon
,更具体地说,使用anchor
带有 x 和 y 偏移量的属性。类似于以下内容:
var iconSVG = new H.map.Icon(svgArrow, {
anchor: {
x: svgWidth / 2,
y: svgHeight / 2
}
});
推荐阅读
- android - 从 Android 中的视频(在原始文件夹中)提取音频时出错。错误:没有这样的文件或目录
- javascript - 防止 Vue 中的 DOM 刷新
- rust - 如何从实现该特征的结构迭代器中收集特征向量
- arrays - Firebase 和 swiftUI,监听实时更新奇怪的行为怪异
- java - 不使用注释的未经检查或不安全的操作
- mysql - SQL查询:编辑编辑SET FOREIGN_KEY_CHECKS = ON; MySQL 说:文档 #2014 - 命令不同步;你现在不能运行这个命令
- sql - SQL Server 按过去 24 小时、上周和上个月对促销进行分组,并按周降序排序
- python - 使用 Hyperopt 进行贝叶斯优化的错误
- sql - EF 6 实体更新但不是 ExecuteSqlCommand 的死锁
- r - 以不同方式运行时,相关性测试没有给出相同的结果?