GE中的挤压线造型

时间:2012-11-08 09:36:18

标签: api google-maps google-earth google-earth-plugin

问题是我需要更改拉伸线边框的默认颜色和不透明度。以下是GE API的image

所以,我需要在线下自定义灰色的“墙”。它如何重新设计?感谢。

2 个答案:

答案 0 :(得分:0)

基本上,您需要为要素添加LineStyle样式并指定颜色。

多边形颜色指定填充颜色(在多边形区域内),线颜色指定线条,环和多边形的线条边框。

可以在此处找到GE API的示例。 http://earth-api-samples.googlecode.com/svn/trunk/examples/linestring-style.html

要指定不透明度,您需要在 aabbggrr 格式的代码颜色中设置Alpha值(FF =完全不透明度),如下面的代码段所示:

var lineStyle = placemark.getStyleSelector().getLineStyle();
lineStyle.setWidth(lineStyle.getWidth() + 2);
lineStyle.getColor().set('6600ffff');  // aabbggrr format

答案 1 :(得分:0)

因此,基本上挤出线的'border'是Polygon对象,应分别设置样式。

以下是来自GE API的示例,其中包含一个额外的行和一个新方法 getPolyStyle() ,它将自定义样式添加到“墙”中:

// Create the placemark
var lineStringPlacemark = ge.createPlacemark('');

// Create the LineString; set it to extend down to the ground
// and set the altitude mode
var lineString = ge.createLineString('');
lineStringPlacemark.setGeometry(lineString);
lineString.setExtrude(true);
lineString.setAltitudeMode(ge.ALTITUDE_RELATIVE_TO_GROUND);

// Add LineString points
lineString.getCoordinates().pushLatLngAlt(48.754, -121.835, 700);
lineString.getCoordinates().pushLatLngAlt(48.764, -121.828, 700);
lineString.getCoordinates().pushLatLngAlt(48.776, -121.818, 700);
lineString.getCoordinates().pushLatLngAlt(48.787, -121.794, 700);
lineString.getCoordinates().pushLatLngAlt(48.781, -121.778, 700);
lineString.getCoordinates().pushLatLngAlt(48.771, -121.766, 700);
lineString.getCoordinates().pushLatLngAlt(48.757, -121.768, 700);
lineString.getCoordinates().pushLatLngAlt(48.747, -121.773, 700);

// Create a style and set width and color of line
lineStringPlacemark.setStyleSelector(ge.createStyle(''));
var lineStyle = lineStringPlacemark.getStyleSelector().getLineStyle();

/*** STYLING THE POLYGON ('WALL') UNDER THE LINE ***/
lineStringPlacemark.getStyleSelector().getPolyStyle().getColor().set('9900ffff');
/***************************************************/

lineStyle.setWidth(5);
lineStyle.getColor().set('9900ffff');  // aabbggrr format

// Add the feature to Earth
ge.getFeatures().appendChild(lineStringPlacemark);