gpt4 book ai didi

Android:如何:显示带有移动当前位置指针的 map (静止图像文件)

转载 作者:行者123 更新时间:2023-11-30 04:34:46 26 4
gpt4 key购买 nike

我正在尝试创建一个可以引导一个人到达目的地的原型(prototype)。

  • 地点是一栋有几层楼的宽阔建筑。
  • 我可以获取/检索 map (静止图像)。 例如当前:1F 目的地:5F;这样我就可以获得 1 楼、2 楼...5 楼的静止图像(5 个图像文件)。

场景:

  1. 启动应用程序
  2. 输入当前位置(或使用当前位置自动设置)和目的地
  3. 点击搜索路线按钮搜索要使用的 map (静止图像)并标记当前位置和目的地
  4. 在移动/前往目的地时更新当前位置

问题:

  1. 我只需要一次显示 1 个图像文件(每个楼层),然后使用滚动条移动到其他楼层。但是..不知道如何显示它。
  2. 我可以通过 WiFi 获取当前位置坐标,但不知道如何将其放入静止图像中以标记当前位置

可以肯定的是,已经有类似的示例应用程序可用。您能否分享概念/想法或包含代码 fragment 。对我的论文有很大帮助。

感谢任何关于正确方向的指导。

最佳答案

您有几种可能性,创建您自己的类似 MapView 的对象以提供滚动或在 Google Api 上覆盖您的 map 。 MapView Api 的示例用法可通过 Location dev guide 获得。 .

如果您了解缩放和平移的基本图形编程和转换,通过您自己的 View 执行此操作会更容易。 (如果你擅长数学,学习起来就不会有问题)。使用带有 android:scaleType="matrix" 覆盖 MotionEvent 处理程序的 ImageView 来获取触摸,然后将它们处理成平移和缩放矩阵。

要将指示器与图像相关联,请将两个像素设为与现实生活中的纬度/经度对应的 anchor 。通常是矩形图像的 (0,0) 和 (width,height)。让您的生活更轻松,并确保图像按比例缩放。然后使用第二个 ImageView(用于指示器)将其绘制在顶部并将其移动到屏幕上的正确位置并确保此 View 中的背景以及指示器的背景都是透明的,否则您将有一个矩形 block “晕”。

请务必检查 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);
}

关于Android:如何:显示带有移动当前位置指针的 map (静止图像文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7062115/

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