2013-11-05 98 views
-1

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

示例代码做基本的东西包括:This Stackoverflow exampleThis tutorial.

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

一种简单的方法是有8个(或16个)图标,代表N,S,E,W,NE ...并选择与我的方向大致相符的图标,但我希望有更多动态的东西。

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

为了澄清正是我想要的,This Stackoverflow 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对象。

随着的旋转属性,你可以设置符号的旋转角度。您需要先从API获取当前位置和目标位置之间的角度。

随着路径属性,你可以设置一个符号。 Google已经实现了箭头符号,它们使用常量BACKWARD_CLOSED_ARROW,BACKWARD_OPEN_ARROW,FORWARD_CLOSED_ARROWFORWARD_OPEN_ARROW

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