A wireless sensor and ad hoc network consists of a large number of low-power nodes equipped with wireless radio. The design of efficient routing protocols for dynamic network topologies is crucial for scalable sensor and ad hoc networks. Geographic routing is a recently developed technique that uses locally available position information of nodes to make packet forwarding decisions. This book develops a framework for energy efficient geographic routing. This framework includes a path pruning strategy by exploiting the channel listening capability, an anchor-based routing protocol using anchors to act as relay nodes between source and destination, a geographic multicast algorithm clustering destinations that can share the same next hop, and a lifetime-aware routing algorithm to prolong the lifetime of wireless sensor networks by considering four important factors: PRR (Packet Reception Rate), forwarding history, progress and remaining energy. This book discusses the system design, theoretic analysis, simulation and testbed implementation involved in the aforementioned framework.