android google map路线 画图等方法
2014-12-31 14:06
861 查看
google map api2中把overlay类去掉,所以以前在地图上通过点画出路线图的方法现在无法实现,好在增加以下几个方法,另外有一篇文章用到这个方法并且使用了map导航接口,文章很有参考价值:http://blog.csdn.net/mad1989/article/details/9734667
Polyline定义了一组组连的线段在地图上,一个折线对象由一组经纬度位置组成,并按一个有序的序列建立一系列线段连接起这些地点。要创建一个Polyline首先要创建一个PolylineOptions的
对象,点与点之间的连线顺序将它们添加到PolylineOptions,要添加点到PolylineOptions调用PolylineOptions.add()。 GoogleMap.addPolyline(PolylineOptions)把PolylineOptions添加到GoogleMap里。以下实现添加矩形地图:
[java] view
plaincopy
// Instantiates a new Polyline object and adds points to define a rectangle
PolylineOptions rectOptions = new PolylineOptions()
.add(new LatLng(37.35, -122.0))
.add(new LatLng(37.45, -122.0)) // North of the previous point, but at the same longitude
.add(new LatLng(37.45, -122.2)) // Same latitude, and 30km to the west
.add(new LatLng(37.35, -122.2)) // Same longitude, and 16km to the south
.add(new LatLng(37.35, -122.0)); // Closes the polyline.
// Get back the mutable Polyline
Polyline polyline = myMap.addPolyline(rectOptions);
Polygons一定条件下是跟Polyline相等的,你可以根据上面添加Polyline到GoogleMap的方法添加一个Polygons到GoolgMap,以下代码添加一个多边形到GoogleMap中
[java] view
plaincopy
// Instantiates a new Polygon object and adds points to define a rectangle
PolygonOptions rectOptions = new PolygonOptions()
.add(new LatLng(37.35, -122.0),
new LatLng(37.45, -122.0),
new LatLng(37.45, -122.2),
new LatLng(37.35, -122.2),
new LatLng(37.35, -122.0));
// Get back the mutable Polygon
Polygon polygon = myMap.addPolygon(rectOptions);
你可以调用 Polygon.setPoints()方法,并且提供一系列的经纬度以改变一个已添加的Polygons。
Polygons的自动关闭,上面的例子Polygons共有五个坐标,而且你会发现第一个坐标跟最后一个坐标是相同的,实现情况下Polygons定义了自动关闭区域,并不需要定义最后的坐标。以下两段代码是等效的:
[java] view
plaincopy
Polygon polygon = map.addPolygon(new PolygonOptions()
.add(new LatLng(0, 0), new LatLng(0, 5), new LatLng(3, 5), new LatLng(0, 0))
.strokeColor(Color.RED)
.fillColor(Color.BLUE));
Polygon polygon = map.addPolygon(new PolygonOptions()
.add(new LatLng(0, 0), new LatLng(0, 5), new LatLng(3, 5))
.strokeColor(Color.RED)
.fillColor(Color.BLUE));
自定义Polyline Polygons外观,你要在Polyline Polygons添加到GoolgeMap之前设置好它们的外观属性:
[java] view
plaincopy
Polyline line = map.addPolyline(new PolylineOptions()
.add(new LatLng(-37.81319, 144.96298), new LatLng(-31.95285, 115.85734))
.width(25)
.color(Color.BLUE)
.geodesic(true));
创建一个空心的Polygons,两个路径必须定义在相同的区域内,大的区域除去小区域部分为空心的Polygons,通过addHole()方法添加空心部分的区域。
[java] view
plaincopy
List<LatLng> latLngs = new ArrayList<LatLng>();
latLngs.add(new LatLng(37.45, -120.0));
latLngs.add(new LatLng(37.65, -122.5));
latLngs.add(new LatLng(37.0, -123.0));
latLngs.add(new LatLng(37.05, -122));
latLngs.add(new LatLng(37.45, -120.0));
mMap.addPolygon(new PolygonOptions()
.add(new LatLng(37.35, -122.0), new LatLng(37.45, -122.0), new LatLng(37.45, -122.2), new LatLng(37.35, -122.2), new LatLng(37.35, -122.0))
.addHole(latLngs)
.fillColor(Color.BLUE));
Polyline定义了一组组连的线段在地图上,一个折线对象由一组经纬度位置组成,并按一个有序的序列建立一系列线段连接起这些地点。要创建一个Polyline首先要创建一个PolylineOptions的
对象,点与点之间的连线顺序将它们添加到PolylineOptions,要添加点到PolylineOptions调用PolylineOptions.add()。 GoogleMap.addPolyline(PolylineOptions)把PolylineOptions添加到GoogleMap里。以下实现添加矩形地图:
[java] view
plaincopy
// Instantiates a new Polyline object and adds points to define a rectangle
PolylineOptions rectOptions = new PolylineOptions()
.add(new LatLng(37.35, -122.0))
.add(new LatLng(37.45, -122.0)) // North of the previous point, but at the same longitude
.add(new LatLng(37.45, -122.2)) // Same latitude, and 30km to the west
.add(new LatLng(37.35, -122.2)) // Same longitude, and 16km to the south
.add(new LatLng(37.35, -122.0)); // Closes the polyline.
// Get back the mutable Polyline
Polyline polyline = myMap.addPolyline(rectOptions);
Polygons一定条件下是跟Polyline相等的,你可以根据上面添加Polyline到GoogleMap的方法添加一个Polygons到GoolgMap,以下代码添加一个多边形到GoogleMap中
[java] view
plaincopy
// Instantiates a new Polygon object and adds points to define a rectangle
PolygonOptions rectOptions = new PolygonOptions()
.add(new LatLng(37.35, -122.0),
new LatLng(37.45, -122.0),
new LatLng(37.45, -122.2),
new LatLng(37.35, -122.2),
new LatLng(37.35, -122.0));
// Get back the mutable Polygon
Polygon polygon = myMap.addPolygon(rectOptions);
你可以调用 Polygon.setPoints()方法,并且提供一系列的经纬度以改变一个已添加的Polygons。
Polygons的自动关闭,上面的例子Polygons共有五个坐标,而且你会发现第一个坐标跟最后一个坐标是相同的,实现情况下Polygons定义了自动关闭区域,并不需要定义最后的坐标。以下两段代码是等效的:
[java] view
plaincopy
Polygon polygon = map.addPolygon(new PolygonOptions()
.add(new LatLng(0, 0), new LatLng(0, 5), new LatLng(3, 5), new LatLng(0, 0))
.strokeColor(Color.RED)
.fillColor(Color.BLUE));
Polygon polygon = map.addPolygon(new PolygonOptions()
.add(new LatLng(0, 0), new LatLng(0, 5), new LatLng(3, 5))
.strokeColor(Color.RED)
.fillColor(Color.BLUE));
自定义Polyline Polygons外观,你要在Polyline Polygons添加到GoolgeMap之前设置好它们的外观属性:
[java] view
plaincopy
Polyline line = map.addPolyline(new PolylineOptions()
.add(new LatLng(-37.81319, 144.96298), new LatLng(-31.95285, 115.85734))
.width(25)
.color(Color.BLUE)
.geodesic(true));
创建一个空心的Polygons,两个路径必须定义在相同的区域内,大的区域除去小区域部分为空心的Polygons,通过addHole()方法添加空心部分的区域。
[java] view
plaincopy
List<LatLng> latLngs = new ArrayList<LatLng>();
latLngs.add(new LatLng(37.45, -120.0));
latLngs.add(new LatLng(37.65, -122.5));
latLngs.add(new LatLng(37.0, -123.0));
latLngs.add(new LatLng(37.05, -122));
latLngs.add(new LatLng(37.45, -120.0));
mMap.addPolygon(new PolygonOptions()
.add(new LatLng(37.35, -122.0), new LatLng(37.45, -122.0), new LatLng(37.45, -122.2), new LatLng(37.35, -122.2), new LatLng(37.35, -122.0))
.addHole(latLngs)
.fillColor(Color.BLUE));
相关文章推荐
- android在google map上画出导航路线图
- android在google map上画出导航路线图
- android在google map上画出导航路线图
- 关于android 画图机制中几个方法的说明
- Android学习之实现Canvas基本画图方法
- android在google map上画出导航路线图
- Android编程画图之抗锯齿解决方法
- android手机安装时缺少google map api 的解决方法
- android手机安装时缺少google map api 的解决方法
- 在用android的Canvas画图时,调用Canvas.setBitmap方法报错,IllegalStateException
- Android学习之实现Canvas基本画图方法
- android在google map上画出导航路线图
- android在google map上画出导航路线图
- android在google map上画出导航路线图
- android 基本的画图方法
- android在google map上画出导航路线图
- 在android mapview控件里画简单导航路线的方法
- android在google map上画出导航路线图
- 关于在Android中使用Google Map只显示网格问题的解决方法
- android画图抗锯齿的几个方法