所以我在创建折线以在其他地方使用它,但是在创建实例之后,折线被混用了,这可能是由于线串或什么原因造成的?

var points = [
      { lat: 52.5309825, lng: 13.3845921 },
      { lat: 52.5311923, lng: 13.3853495 }];

var linestring = new H.geo.LineString();
points.forEach(function(point) {
  linestring.pushPoint(point);
});

// Initialize a polyline with the linestring:
var routeLine = new H.map.Polyline(linestring);```

[![if i give multiple polyline inputs the previous one is geting attached][1]][1]

Image of mixed output polylines:
  [1]: https://i.stack.imgur.com/jPrHq.png

最佳答案

我认为您正在寻找的是H.map.Polyline对象上的setGeometry方法。以下是一个示例代码,该示例代码使用一个LineString创建Polyline,然后在2秒后使用第二个LineString更新Polyline的几何图形:

var points1 = [
      { lat: 52.5309825, lng: 13.3845921 },
      { lat: 52.5311923, lng: 13.3853495 }];
var points2 = [
      { lat:52.532015,lng:13.385634 },
      { lat:52.531441,lng:13.386225 }];
var linestring1 = new H.geo.LineString();
var linestring2 = new H.geo.LineString();

points1.forEach(function(point) {
  linestring1.pushPoint(point);
});

var routeLine = new H.map.Polyline(linestring1);

// update polyline's geometry
setTimeout(function() {
  routeLine.setGeometry(linestring2);
}, 2000);

10-08 14:02