带方向箭头的地理位置 api

Posted

技术标签:

【中文标题】带方向箭头的地理位置 api【英文标题】:Geolocation api with direction arrow 【发布时间】:2013-11-05 02:37:36 【问题描述】:

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

完成基本工作的示例代码包括:This *** example 和 This tutorial.

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

一种粗略的方法是使用 8 个(或 16 个)图标,分别代表 N、S、E、W、NE...,然后选择与我的方向大致相符的图标,但我希望有更多的动态。

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

为了明确我想要什么,This *** example 包含此代码以在地图上显示我当前位置的标记:

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
);

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

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

【问题讨论】:

【参考方案1】:

我自己没有尝试过,但 Google Maps javascript API 似乎为此提供了功能。您可以使用google.Maps.Symbol 对象。

使用 rotation 属性,您可以设置符号的旋转度数。您需要先从 API 中获取当前位置和目的地之间的角度。

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

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

【讨论】:

以上是关于带方向箭头的地理位置 api的主要内容,如果未能解决你的问题,请参考以下文章

手动设置 UIPopover 箭头方向和位置

在 JavaScript 中从 gps 位置指向另一个不指向正确方向的箭头

UML - 用例图

PROE5.0 草绘扫描轨迹都是有一个箭头,如何改变这个箭头的方向与位置?求大神指教!

到地理位置的错误结果箭头(角度)

使用方向传感器指向特定位置