我正在将HERE Maps api v3 / 3.1用于我的地图。我能够添加标记,但是我不知道如何将标记移动到另一个位置/更新标记位置。有人可以举一个例子,我如何在v3 / 3.1中做到这一点?
答案 0 :(得分:0)
要遵循三个步骤。
第1步
首先,您需要保留标记的引用,以便以后可以更新其属性
// Step 1: Instantiate car marker with its initial position
var carMarker = new H.map.DomMarker({ lat: 48.8567, lng: 2.3508 });
第2步
我们将标记添加到地图上。
// Step 2: Add marker to the map
map.addObject(carMarker);
第3步
最后,我们使用标记参考上的 setGeometry 移动标记。在这种情况下,我们将在5秒钟的计时器后移动标记,但这可能是您需要的任何事件(输入事件,XHR响应等)
// Step 3: Move marker
setTimeout(function() {
carMarker.setGeometry({ lat: 48.8567, lng: 12.3508 })
}, 5000);
答案 1 :(得分:0)
setGeometry()
是您需要的方法。它接受geo.Point
或geo.MultiPoint
。
有关更多信息,请参见Marker#setGeometry apireference
// update marker's position using single point:
marker.setGeometry({lat: 53, lng: 13.5});
// or update using MultiPoint
// marker.setGeometry(new H.geo.MultiPoint([{lat: 53, lng: 13}, {lat: 52, lng: 10}]));