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