读书人

百度android地图怎样只画屏幕范围内的

发布时间: 2012-03-31 13:13:26 作者: rapoo

百度android地图怎样只画屏幕范围内的点
我要在百度android地图上画1千多个点,全部画的话会很卡,所以要循环判断各点有没超出屏幕范围,大概代码如下:

Java code
        for(int i=0;i<jarry.length();i++){                        try {                if(Double.parseDouble(jarry.getJSONObject(i).getString("w"))<24.811905 && Double.parseDouble(jarry.getJSONObject(i).getString("j"))<113.594293)                {                mMapView.getOverlays().add(new OverItemT(marker, this,jarry.getJSONObject(i).getString("j"),jarry.getJSONObject(i).getString("w"),jarry.getJSONObject(i).getString("gjxname"),jarry.getJSONObject(i).getString("Content")));                }            } catch (JSONException e) {                 //TODO Auto-generated catch block                e.printStackTrace();            }       } 

问题是怎么获取屏幕经纬范围,上面的数字是我自己写上去的,每个点怎么判断有没超出屏幕?求好心人提供代码,谢谢了

[解决办法]
根据中心的坐标算出矩形的坐标范围,然后判断就行了吧
[解决办法]
可以获取当前屏幕大小 长宽就都有了

[解决办法]
正常思路应该是这样的:
你拿到屏幕左上角和右下角经纬度,根据经纬度从你那一千个点中取出符合条件的点,
在你画符合条件点之前,你把地图上所有的点全部清空后再把符合条件的点来上去,这样地图上只会有显示区域内的点
[解决办法]
探讨

引用:
正常思路应该是这样的:
你拿到屏幕左上角和右下角经纬度,根据经纬度从你那一千个点中取出符合条件的点,
在你画符合条件点之前,你把地图上所有的点全部清空后再把符合条件的点来上去,这样地图上只会有显示区域内的点

楼上能不能给点代码,帮帮忙哦,谢谢了

读书人网 >Android

热点推荐