public void addLatLine(double lat,double minLon,double maxLon){
  String name="latline" + nextShape;
  nextShape++;
  b.append("        var " + name + " = WE.polygon([\n");
  double lon;
  int steps=getStepCount(lat,minLon,lat,maxLon);
  for (lon=minLon; lon <= maxLon; lon+=(maxLon - minLon) / steps) {
    b.append("          [" + lat + ", "+ lon+ "],\n");
  }
  b.append("          [" + lat + ", "+ maxLon+ "],\n");
  lon-=(maxLon - minLon) / steps;
  for (; lon >= minLon; lon-=(maxLon - minLon) / steps) {
    b.append("          [" + lat + ", "+ lon+ "],\n");
  }
  b.append("        ], {color: \"#ff0000\", fillColor: \"#ffffff\", opacity: 1, fillOpacity: 0.0001});\n");
  b.append("        " + name + ".addTo(earth);\n");
}

public void addLatLine ( double lat , double minLon , double maxLon ) { String name = "latline" + nextShape ; nextShape ++ ; b . append ( "        var " + name + " = WE.polygon([\n" ) ; double lon ; int steps = getStepCount ( lat , minLon , lat , maxLon ) ; for ( lon = minLon ; lon <= maxLon ; lon += ( maxLon - minLon ) / steps ) { b . append ( "          [" + lat + ", " + lon + "],\n" ) ; } b . append ( "          [" + lat + ", " + maxLon + "],\n" ) ; lon -= ( maxLon - minLon ) / steps ; for ( ; lon >= minLon ; lon -= ( maxLon - minLon ) / steps ) { b . append ( "          [" + lat + ", " + lon + "],\n" ) ; } b . append ( "        ], {color: \"#ff0000\", fillColor: \"#ffffff\", opacity: 1, fillOpacity: 0.0001});\n" ) ; b . append ( "        " + name + ".addTo(earth);\n" ) ; }
draws a line a fixed latitude , spanning the min / max longitude
