code: func (g *Geometry) UnmarshalJSON(data []byte) error {
  	var object map[string]interface{}
  	err := json.Unmarshal(data, &object)
  	if err != nil {
  		return err
  	}
  
  	return decodeGeometry(g, object)
  }
docs: // UnmarshalJSON decodes the data into a GeoJSON geometry.
  // This fulfills the json.Unmarshaler interface.