百度地图之自定义绘制功能(二)

2014-11-24 09:24:19 · 作者: · 浏览: 1
ts[2] = pt3; lineGeometry.setPolyLine(linePoints); // 设定样式 Symbol lineSymbol = new Symbol(); Symbol.Color lineColor = lineSymbol.new Color(); lineColor.red = 255; lineColor.green = 0; lineColor.blue = 0; lineColor.alpha = 255; lineSymbol.setLineSymbol(lineColor, 10); // 生成Graphic对象 Graphic lineGraphic = new Graphic(lineGeometry, lineSymbol); return lineGraphic; } /** * 绘制多边形,该多边形随地图状态变化 * * @return 多边形对象 */ public Graphic drawPolygon() { double mLat = 39.93923; double mLon = 116.357428; int lat = (int) (mLat * 1E6); int lon = (int) (mLon * 1E6); GeoPoint pt1 = new GeoPoint(lat, lon); mLat = 39.91923; mLon = 116.327428; lat = (int) (mLat * 1E6); lon = (int) (mLon * 1E6); GeoPoint pt2 = new GeoPoint(lat, lon); mLat = 39.89923; mLon = 116.347428; lat = (int) (mLat * 1E6); lon = (int) (mLon * 1E6); GeoPoint pt3 = new GeoPoint(lat, lon); mLat = 39.89923; mLon = 116.367428; lat = (int) (mLat * 1E6); lon = (int) (mLon * 1E6); GeoPoint pt4 = new GeoPoint(lat, lon); mLat = 39.91923; mLon = 116.387428; lat = (int) (mLat * 1E6); lon = (int) (mLon * 1E6); GeoPoint pt5 = new GeoPoint(lat, lon); // 构建多边形 Geometry polygonGeometry = new Geometry(); // 设置多边形坐标 GeoPoint[] polygonPoints = new GeoPoint[5]; polygonPoints[0] = pt1; polygonPoints[1] = pt2; polygonPoints[2] = pt3; polygonPoints[3] = pt4; polygonPoints[4] = pt5; polygonGeometry.setPolygon(polygonPoints); // 设置多边形样式 Symbol polygonSymbol = new Symbol(); Symbol.Color polygonColor = polygonSymbol.new Color(); polygonColor.red = 0; polygonColor.green = 0; polygonColor.blue = 255; polygonColor.alpha = 126; polygonSymbol.setSurface(polygonColor, 1, 5);
// 生成Graphic对象 Graphic polygonGraphic = new Graphic(polygonGeometry, polygonSymbol); return polygonGraphic; } /** * 绘制单点,该点状态不随地图状态变化而变化 * * @return 点对象 */ public Graphic drawPoint() { double mLat = 39.98923; double mLon = 116.397428; int lat = (int) (mLat * 1E6); int lon = (int) (mLon * 1E6); GeoPoint pt1 = new GeoPoint(lat, lon); // 构建点 Geometry pointGeometry = new Geometry(); // 设置坐标 pointGeometry.setPoint(pt1, 10); // 设定样式 Symbol pointSymbol = new Symbol(); Symbol.Color pointColor = pointSymbol.new Color(); pointColor.red = 0; pointColor.green = 126; pointColor.blue = 255; pointColor.alpha = 255; pointSymbol.setPointSymbol(pointColor); // 生成Graphic对象 Graphic pointGraphic = new Graphic(pointGeometry, pointSymbol); return pointGraphic; } /** * 绘制圆,该圆随地图状态变化 * * @return 圆对象 */ public Graphic drawCircle() { double mLat = 39.90923; double mLon = 116.447428; int lat = (int) (mLat * 1E6); int lon = (int) (mLon * 1E6); GeoPoint pt1 = new GeoPoint(lat, lon); // 构建圆 Geometry circleGeometry = new Geometry(); // 设置圆中心点坐标和半径 circleGeometry.setCircle(pt1, 2500); // 设置样式 Symbol circleSymbol = new Symbol(); Symbol.Color circleColor = circleSymbol.new Color(); circleColor.red = 0; circleColor.green = 255; circleColor.blue = 0; circleColor.alpha = 126; circleSymbol.setSurface(circleColor, 1, 3); // 生成Graphic对象 Graphic circleGraphic = new Graphic(circleGeometry, circleSymbol); return circleGraphic; } /** * 绘制文字,该文字随地图变化有透视效果 * * @return 文字对象 */ public TextItem drawText() { double mLat = 39.86923; double mLon = 116.397428; int lat = (int) (mLat * 1