我正在尝试创建一个可以引导一个人到达目的地的原型。
情境:
问题:
当然,已经有类似的示例应用程序可用。 您能分享这些概念/想法,还是会包含代码段。我的论文帮助很大。
对正确方向的任何指导表示赞赏。
答案 0 :(得分:1)
您有几种可能性,创建自己的MapView对象,以便在Google Api上滚动或覆盖您的地图。可以通过Location dev guide获得MapView Api的示例用法。
如果您了解缩放和平移的基本图形编程和转换,通过您自己的视图执行此操作会更容易。 (如果你擅长数学,那么学习就没那么麻烦了)。使用带有android:scaleType="matrix"
的ImageView覆盖MotionEvent处理程序以获取触摸,然后将它们处理为转换和缩放矩阵。
要将指标与图像相关联,请将两个像素转换为与真实生活纬度/长度相对应的锚点。通常是矩形图像的(0,0)和(宽度,高度)。让您的生活更轻松,并确保图像是可扩展的。然后使用第二个ImageView(用于指示器)将其绘制在顶部并将其移动到屏幕上的正确位置,并确保此视图中的背景是透明的,以及指示器的背景,或者您将有一个矩形块“卤代”。
务必检查LocationManager提供的每个位置的准确度。
其他内容
onCurrentPosition(Location current){
double hypotenuse = upperLeft.distanceTo(current);
double bearing = upperLeft.bearingTo(current);
double currentDistanceX = Math.cos(bearing) * hypotenuse;
// "percentage to mark the position"
double currentPixelX = (currentDistanceX / upperLeft.distanceTo(lowerRight) * Math.cos(upperLeft.bearingTo(lowerRight))) * mapWidth;
moveIndicatorX(currentPixelX);
}