Water spots on glassware are usually avoided by using a rinse aid product such as "Jet Dry." While drying, the water droplets containing minerals won't run off and will dry on the glassware. Adding rinse aid will leave the dishes spot -free.
Glassware with white streaks is a sign of etching and usually occurs over time. The problem is that the wash water is too soft (too few minerals in it) and absorbs the minerals from the glassware. This is irreversible, but several things can be done to avoid it before it gets worse: use less detergent and use rinse aid. Do not overload the dishwasher and turn the water temperature to around 130 F - 140 F. Ideally, the water hardness should be between 4gpg and 8gpg (grains per gallon). Try another brand of detergent to see what works best in your situation.
Mineral rich water, also called "hard water" will leave a white film inside your machine and on your glassware. To avoid this, use a little more detergent or try another detergent brand to see what works best for your machine. Use the softener inside your dishwasher, if it has one, or install a house softener. To remove minerals from the machine and glassware, add two cups of vinegar to the wash cycle and run a main wash cycle.