代码之家  ›  专栏  ›  技术社区  ›  Waza_Be

Android:指南针+列表视图中的距离

  •  10
  • Waza_Be  · 技术社区  · 14 年前

    我想你们都在地图上尝试过“谷歌地图”。 这是您附近的POI列表。

    我真的很想在我的应用程序中用一个GPS坐标列表做同样的功能,但是这看起来很复杂。

    使用距离和小箭头制作ListView非常简单,但我无法理解每次用户移动手机时如何更新此列表和箭头。

    现在我有一个静态的listview。

    我想知道是否有人成功创建了这样的列表视图。

    非常感谢您提供任何信息。

    我真的想在我的应用程序中用一个GPS坐标列表做同样的功能,但是这看起来很复杂。

    用距离和小箭头制作ListView非常简单,但是我不知道每次用户移动手机时如何更新这个列表和箭头。

    现在我有一个静态的列表视图。

    alt text

    我想知道是否有人成功地创建了这样一个ListView。

    非常感谢您提供任何信息。

    1 回复  |  直到 11 年前
        1
  •  10
  •   Hesham Saeed Brayden    11 年前

    updateCompassAndLocation

    notifyDataSetChanged getView

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
      LinearLayout myView;
    
      MyPOI item = getItem(position);
    
      Location poiLocation = item.getLocation;
    
      int compassHeading = // Calculate heading relative to current heading
      float distance = // Calculate distance to POI
    
    
      if (convertView == null) {
        myView = new LinearLayout(getContext());
        String inflater = Context.LAYOUT_INFLATER_SERVICE;
        LayoutInflater vi = (LayoutInflater)getContext().getSystemService(inflater);
        vi.inflate(resource, myView, true);
      } else {
        trainView = (LinearLayout) convertView;
      }
    
      TextView distanceView = (TextView)trainView.findViewById(R.id.distance);
      ImageView compassView = (ImageView)trainView.findViewById(R.id.compass);
    
      distanceView.setText(String.valueOf(distance);
      compassView.setImageLevel(compassHeading);
    }