首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何创建android polyline的边界以适应屏幕?

如何创建android polyline的边界以适应屏幕?
EN

Stack Overflow用户
提问于 2014-07-18 04:01:57
回答 4查看 4.2K关注 0票数 5

我有一份LatLng坐标的数组列表。然后我根据坐标列表绘制一条多段线。如何使多段线图形适合我的屏幕?LatLngBounds.Builder是解决这个问题的正确方案吗?如果是,我该怎么使用呢?

EN

回答 4

Stack Overflow用户

发布于 2014-11-04 20:49:09

您可以尝试如下所示:

代码语言:javascript
复制
private void moveToBounds(Polyline p){

    LatLngBounds.Builder builder = new LatLngBounds.Builder();
    for(int i = 0; i < p.getPoints().size();i++){
        builder.include(p.getPoints().get(i));
    }

    LatLngBounds bounds = builder.build();
    int padding = 0; // offset from edges of the map in pixels

    CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, padding);
    mMap.animateCamera(cu);
}
票数 12
EN

Stack Overflow用户

发布于 2015-05-08 15:06:27

我对答案做了一些改进: Melo ist to slow的答案

代码语言:javascript
复制
private void moveToBounds(Polyline p)
{

    LatLngBounds.Builder builder = new LatLngBounds.Builder();
    List<LatLng> arr = p.getPoints();
    for(int i = 0; i < arr.size();i++){
        builder.include(arr.get(i));
    }
    LatLngBounds bounds = builder.build();
    int padding = 40; // offset from edges of the map in pixels
    CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, padding);
    mMap.animateCamera(cu);
}
票数 3
EN

Stack Overflow用户

发布于 2017-01-13 03:31:35

可以使用标记和多段线点执行此操作。

代码语言:javascript
复制
    public void setMapMarkersBounds(List<Marker> markers, Polyline polyline) {
    LatLngBounds.Builder builder;
    float scale = getApplicationContext().getResources().getDisplayMetrics().density;
    int padding = (int) (40 * scale + 0.5f);
    builder = new LatLngBounds.Builder();

    for (Marker marker : markers) {
        builder.include(marker.getPosition());
    }

    for(int i = 0; i < polyline.getPoints().size(); i++){
        builder.include(polyline.getPoints().get(i));
    }

    LatLngBounds bounds = builder.build();
    CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, padding);
    mMap.animateCamera(cu, 400, null);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24812483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档