我有一个从SVG文件转换的地图,现在我想在光标位置右边的地图上添加标记。但是标记位置错误,并且它们不遵循任何规则,因此我无法正确监视和修改它们
从这个示例:http://jvectormap.com/examples/mall/我知道我们可以通过坐标将标记放在地图上,而不是通过地图经度和纬度。但是在初始化地图时会放置它们,而我想在每次单击鼠标时动态放置标记
从这个示例:http://jvectormap.com/examples/reverse-projection/,我们可以将标记放在光标位置,但是地图需要插图和投影(将e.offsetX和e.offsetY转换为lat,long),而我的地图是从SVG文件自定义的,所以缺少这些信息
你能帮助我吗:
1.如何确定自定义地图的插图和投影? (我使用http://svgto.jvectormap.com/转换我的SVG文件,但它只返回路径)
2.不使用地图经度和纬度,如何将标记放在光标位置?
非常感谢你。
答案 0 :(得分:5)
添加标记时,只需在配置中提供所需坐标的coords
键,而不是latLng:
map.addMarker(markerIndex, {coords: [100, 100]});
答案 1 :(得分:3)
我发现这个解决方案对我有用
map.addMarker(markerIndex,{coords:[(e.offsetX / map.scale) - map.transX,(e.offsetY / map.scale) - map.transY]});
无论是否放大,定位都会得到补偿。
洛伦佐
答案 2 :(得分:-2)
我有个建议。如果您打算使用jVectorMap插件来处理矢量地图,您可以查看:AmMap。我使用它来解决使用jVectormap时遇到的几乎所有问题。此外,它还提供了许多令人敬畏的功能和灵活的配置。