Android 谷歌地图显示最接近当前位置的地理点

标签 android google-maps geopoints

如果我在我的 MapActivity 中添加了大约 100 个地理点,并且我只想显示距离我当前位置大约 1000 米的地理点,有什么办法吗?其他的应该在 map 上不可见。

有什么建议吗?

最佳答案

好的,这是例子。您可以继承 Overlay 类并覆盖 draw 方法。每当 Overlay 失效时,您应该检查您的点是否在距您所在位置 1000 米以内。当然,您应该知道您在覆盖类中的位置。流动就是例子:

public class MyMapOverlay extends Overlay {

Bitmap bmp;
Context context;
public MyMapOverlay()
{
    bmp = BitmapFactory.decodeResource(MyApplication.getContext().getResources(), R.drawable.myplace);
}

@Override   
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) 
{
    super.draw(canvas, mapView, shadow);                   
    Point screenPts = new Point();
    for(int i = 0;i<points.size(); i++)
    {
        GeoPoint point = points.get(i);

        Location locationA = new Location("point " + String.valueOf(i));  

        locationA.setLatitude(point.getLatitudeE6());  
        locationA.setLongitude(point.getLongitudeE6());    

        float distance = myLocation.distanceTo(locationA);
        if(distance < 1000.0)
        {
            mapView.getProjection().toPixels(p, screenPts);
            canvas.drawBitmap(bmp, screenPts.x-bmp.getWidth()/2, screenPts.y-bmp.getHeight(), null);
        }
    }        
    return true;
}

关于Android 谷歌地图显示最接近当前位置的地理点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12795857/

相关文章:

android - Atom/x86 与 Android 设备上的 ARM CPU 代码执行

android - 使用 new Gson().toJson(object) 无限循环

angularjs - 谷歌地图不显示

谷歌地图上的 CSS 按钮不可点击

Android显示两个地理点之间的行车路线

android - 如何在android中将屏幕坐标转换为geopoint

java - 使用TagSoup解析XML : bug with long attributes?

java - 是否可以从另一个线程安全地调用 disconnect() 来取消正在进行的 HttpURLConnection?

javascript - 荒野市区谷歌地图如何运作?

node.js - 映射地理点在 ElasticSearch 中不起作用