gpt4 book ai didi

javascript - 跟踪用户绘制折线捕捉到道路 bing map

转载 作者:行者123 更新时间:2023-12-03 03:00:27 24 4
gpt4 key购买 nike

想知道是否有人有任何经验或可以帮助解决逻辑,使用 Bing map 跟踪用户(汽车)

当用户旅行时,应该在他们的旅程中绘制一条线,但要与道路对齐,按照我目前设置的方式,将在建筑物中绘制线条。

因为每当位置有更新时,都会计算 2 个点并向 map 添加一条线

(目前正在使用 watchPosition,但将来将每 30 秒获取一次位置)

  watchPos() {
let options = { timeout: 60000 }
this.watchId = navigator.geolocation.watchPosition((position) => {
this.lat = position.coords.latitude;
this.lng = position.coords.longitude;
this.setMap()
console.log(this.lat, this.lng)
}, this.errorHandler, options);

}
setMap() {
this.loc = new Microsoft.Maps.Location(this.lat, this.lng);
if (!this.initialised) {
this.oldLoc = this.loc;
this.initialised = true
this.map = new Microsoft.Maps.Map(this.driveMap.nativeElement, {
credentials: CONFIG.BING_API_KEY,
center: this.loc,
mapTypeId: Microsoft.Maps.MapTypeId.road,
navigationBarMode: 2,
zoom: this.zoom
});
this.user = new Microsoft.Maps.Pushpin(this.loc, { icon: '../images/icon.svg' });
this.map.entities.push(this.user);
// console.log(loc)
} else {
// Draw line
// from this.oldLoc to this.loc
let lineVertices = new Array(this.oldLoc, this.loc);
let line = new Microsoft.Maps.Polyline(lineVertices);
// Then set oldLoc to new loc
this.oldLoc = this.loc
this.map.entities.push(line);
this.map.setView({
center: this.loc
});
this.user.setLocation(this.loc);
}
}

最佳答案

必应 map (Bing Maps) 将于下周末推出专门为此设计的道路快照 API。您传入 GPS 坐标,它会将其捕捉到道路,此外,如果您传入一系列点,您还可以让它返回经过捕捉点的逻辑路径。请观看 Bing map 博客以了解该公告:https://blogs.bing.com/maps

关于javascript - 跟踪用户绘制折线捕捉到道路 bing map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47419002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com