jVectorMap:如何通过坐标动态添加标记?

时间:2014-03-22 05:53:09

标签: jquery jvectormap

我有一个从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.不使用地图经度和纬度,如何将标记放在光标位置? 非常感谢你。

3 个答案:

答案 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时遇到的几乎所有问题。此外,它还提供了许多令人敬畏的功能和灵活的配置。