【问题标题】:Google Map View Projection Zone Listener谷歌地图视图投影区域监听器
【发布时间】:2013-01-16 19:25:07
【问题描述】:

有一个谷歌地图视图和投影圈区。如果用户继续在投影圈内移动,则应该弹出消息框,以便我需要监听器和投影实现。

我不知道我必须使用哪个监听器。如果你帮助我,我很感激。谢谢

【问题讨论】:

    标签: android listener projection


    【解决方案1】:

    试试我认为适合你的距离:distanceBetween

    你可以用 Runnable 来实现你的监听器:

      private Handler handler = new Handler();
      public static final int circleCheckingDelay = 1000; // in ms
    
    
      private Runnable circleChecker = new Runnable()
      {
          public void run()
          {
              float distance= getDistance(GeoPoint p1, GeoPoint p2);
              if(distance < ...)
              {
                //do something
              }
              handler.removeCallbacks(circleChecker);
              handler.postDelayed(circleChecker, circleCheckingDelay);
          }
      };
    

    在你的 mapActivity 中添加以下函数:

    恢复:

      handler.postDelayed(circleChecker, circleCheckingDelay);
    

    暂停:

      handler.removeCallbacks(circleChecker);
    

    也请检查此链接: how to find the distance between two geopoints?

    例如获取距离的函数:

    public float getDistance(GeoPoint p1, GeoPoint p2) {
        double lat1 = ((double)p1.getLatitudeE6()) / 1e6;
        double lng1 = ((double)p1.getLongitudeE6()) / 1e6;
        double lat2 = ((double)p2.getLatitudeE6()) / 1e6;
        double lng2 = ((double)p2.getLongitudeE6()) / 1e6;
        float [] dist = new float[1];
        Location.distanceBetween(lat1, lng1, lat2, lng2, dist);
        return dist[0];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多