带有方向箭头的地理位置 api


Geolocation api with direction arrow

我正在构建一个简单的基于PHP的越野导航网页,用于智能手机,该网页将在Google地图上显示两个图标,一个是我当前的位置,一个是我的目的地。当我移动时,我的图标位置将自动更新。

执行基本操作的示例代码包括:此 Stackoverflow 示例和本教程。

我希望我的图标是一个箭头,指向我当前行走的方向。方向将基于我以前的职位和我目前的位置。有谁知道有什么方法可以实现这一目标吗?

一种粗略的方法是有8个(或16个)图标,代表N,S,E,W,NE...,然后选择与我的方向大致匹配的图标,但我希望有更动态的东西。

另一种选择是简单地在地图上绘制我去过的地方的路径。无论如何,我都在考虑这样做,但也想要箭头。

为了明确我想要什么,这个 Stackoverflow 示例包含以下代码来显示我在地图上当前位置的标记:

map = new google.maps.Map(document.getElementById("map_canvas"), {
zoom: 18,
center: new google.maps.LatLng(startPos.coords.latitude, startPos.coords.longitude),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
position: new google.maps.LatLng(startPos.coords.latitude, startPos.coords.longitude),
map: map
});

我想要一个指向我走路方向的箭头,而不是泪滴型标记。我会根据我之前的位置和我当前位置的纬度/经度来计算它指向的方向,但我需要代码插入上面的代码中它说位置的地方:...

这是基本的导航内容,所以我确信以前已经完成过。我只是找不到任何例子。(我不想使用谷歌路线API。它有使用限制,并不适合越野。

我自己还没有尝试过这个,但似乎谷歌地图Javascript API为此提供了功能。你可以使用谷歌。地图符号对象。

使用旋转属性,您可以设置符号的旋转(以度为单位)。然后,您需要先从 API 获取当前位置和目标之间的角度。

使用 path 属性,您可以设置符号。谷歌已经实现了箭头的符号,他们使用常量BACKWARD_CLOSED_ARROWBACKWARD_OPEN_ARROWFORWARD_CLOSED_ARROWFORWARD_OPEN_ARROW

似乎还支持符号的着色、缩放等,因此您可以使用它做很多事情。我希望这些信息有所帮助。