func (c *Client) OpenMapForTrip(tripID string) error {
	uinfo, err := c.RequestMap(tripID)
	if err != nil {
		return err
	}
	return open.Start(uinfo.URL)
}
OpenMapForTrip is a convenience method that opens the map
for a trip or returns an error if it encounters an error.
package uber
import (
	"encoding/json"
	"errors"
	"fmt"
	"net/http"
	"github.com/skratchdot/open-golang/open"
)
type Map struct {
	RequestID string `json:"request_id"`
	URL string `json:"href"`
}
var (
	errEmptyTripID = errors.New("expecting a non-empty tripID")
	errNoSuchMap   = errors.New("no such map")
)
func (c *Client) RequestMap(tripID string) (*Map, error) {
	if tripID == "" {
		return nil, errEmptyTripID
	}
	fullURL := fmt.Sprintf("%s/requests/%s/map", c.baseURL(), tripID)
	req, err := http.NewRequest("GET", fullURL, nil)
	if err != nil {
		return nil, err
	}
	slurp, _, err := c.doAuthAndHTTPReq(req)
	if err != nil {
		return nil, err
	}
	uinfo := new(Map)
	blankMap := *uinfo
	if err := json.Unmarshal(slurp, uinfo); err != nil {
		return nil, err
	}
	if blankMap == *uinfo {
		return nil, errNoSuchMap
	}
	return uinfo, nil
}